@@ -46,10 +46,15 @@ export async function validateDependencies(browserPath: string, browser: Browser
46
46
const missingPackages = new Set ( ) ;
47
47
48
48
const ubuntuVersion = await getUbuntuVersion ( ) ;
49
- if ( ubuntuVersion === '18.04' ) {
49
+ let libraryToPackageNameMapping = null ;
50
+ if ( ubuntuVersion === '18.04' )
51
+ libraryToPackageNameMapping = LIBRARY_TO_PACKAGE_NAME_UBUNTU_18_04 ;
52
+ else if ( ubuntuVersion === '20.04' )
53
+ libraryToPackageNameMapping = LIBRARY_TO_PACKAGE_NAME_UBUNTU_20_04 ;
54
+ if ( libraryToPackageNameMapping ) {
50
55
// Translate missing dependencies to package names to install with apt.
51
56
for ( const missingDep of missingDeps ) {
52
- const packageName = LIBRARY_TO_PACKAGE_NAME_UBUNTU_18_04 [ missingDep ] ;
57
+ const packageName = libraryToPackageNameMapping [ missingDep ] ;
53
58
if ( packageName ) {
54
59
missingPackages . add ( packageName ) ;
55
60
missingDeps . delete ( missingDep ) ;
@@ -207,3 +212,86 @@ const LIBRARY_TO_PACKAGE_NAME_UBUNTU_18_04: { [s: string]: string} = {
207
212
'libxslt.so.1' : 'libxslt1.1' ,
208
213
} ;
209
214
215
+ const LIBRARY_TO_PACKAGE_NAME_UBUNTU_20_04 : { [ s : string ] : string } = {
216
+ 'libglib-2.0.so.0' : 'libglib2.0-0' ,
217
+ 'libX11.so.6' : 'libx11-6' ,
218
+ 'libxcb.so.1' : 'libxcb1' ,
219
+ 'libGL.so.1' : 'libgl1' ,
220
+ 'libEGL.so.1' : 'libegl1' ,
221
+ 'libnotify.so.4' : 'libnotify4' ,
222
+ 'libgdk_pixbuf-2.0.so.0' : 'libgdk-pixbuf2.0-0' ,
223
+ 'libgio-2.0.so.0' : 'libglib2.0-0' ,
224
+ 'libgobject-2.0.so.0' : 'libglib2.0-0' ,
225
+ 'libvpx.so.6' : 'libvpx6' ,
226
+ 'libopus.so.0' : 'libopus0' ,
227
+ 'libxml2.so.2' : 'libxml2' ,
228
+ 'libicui18n.so.66' : 'libicu66' ,
229
+ 'libicuuc.so.66' : 'libicu66' ,
230
+ 'libxslt.so.1' : 'libxslt1.1' ,
231
+ 'libwoff2dec.so.1.0.2' : 'libwoff1' ,
232
+ 'libcairo.so.2' : 'libcairo2' ,
233
+ 'libfontconfig.so.1' : 'libfontconfig1' ,
234
+ 'libfreetype.so.6' : 'libfreetype6' ,
235
+ 'libharfbuzz.so.0' : 'libharfbuzz0b' ,
236
+ 'libharfbuzz-icu.so.0' : 'libharfbuzz-icu0' ,
237
+ 'libgstapp-1.0.so.0' : 'libgstreamer-plugins-base1.0-0' ,
238
+ 'libgstbase-1.0.so.0' : 'libgstreamer1.0-0' ,
239
+ 'libgstreamer-1.0.so.0' : 'libgstreamer1.0-0' ,
240
+ 'libgstpbutils-1.0.so.0' : 'libgstreamer-plugins-base1.0-0' ,
241
+ 'libgstaudio-1.0.so.0' : 'libgstreamer-plugins-base1.0-0' ,
242
+ 'libgsttag-1.0.so.0' : 'libgstreamer-plugins-base1.0-0' ,
243
+ 'libgstvideo-1.0.so.0' : 'libgstreamer-plugins-base1.0-0' ,
244
+ 'libgstgl-1.0.so.0' : 'libgstreamer-gl1.0-0' ,
245
+ 'libgstcodecparsers-1.0.so.0' : 'libgstreamer-plugins-bad1.0-0' ,
246
+ 'libgstfft-1.0.so.0' : 'libgstreamer-plugins-base1.0-0' ,
247
+ 'libjpeg.so.8' : 'libjpeg-turbo8' ,
248
+ 'libpng16.so.16' : 'libpng16-16' ,
249
+ 'libopenjp2.so.7' : 'libopenjp2-7' ,
250
+ 'libwebpdemux.so.2' : 'libwebpdemux2' ,
251
+ 'libwebp.so.6' : 'libwebp6' ,
252
+ 'libsoup-2.4.so.1' : 'libsoup2.4-1' ,
253
+ 'libenchant.so.1' : 'libenchant1c2a' ,
254
+ 'libgmodule-2.0.so.0' : 'libglib2.0-0' ,
255
+ 'libsecret-1.so.0' : 'libsecret-1-0' ,
256
+ 'libhyphen.so.0' : 'libhyphen0' ,
257
+ 'libXcomposite.so.1' : 'libxcomposite1' ,
258
+ 'libXdamage.so.1' : 'libxdamage1' ,
259
+ 'libwayland-server.so.0' : 'libwayland-server0' ,
260
+ 'libwayland-egl.so.1' : 'libwayland-egl1' ,
261
+ 'libwayland-client.so.0' : 'libwayland-client0' ,
262
+ 'libgtk-3.so.0' : 'libgtk-3-0' ,
263
+ 'libgdk-3.so.0' : 'libgtk-3-0' ,
264
+ 'libpango-1.0.so.0' : 'libpango-1.0-0' ,
265
+ 'libatk-1.0.so.0' : 'libatk1.0-0' ,
266
+ 'libxkbcommon.so.0' : 'libxkbcommon0' ,
267
+ 'libepoxy.so.0' : 'libepoxy0' ,
268
+ 'libatk-bridge-2.0.so.0' : 'libatk-bridge2.0-0' ,
269
+ 'libX11-xcb.so.1' : 'libx11-xcb1' ,
270
+ 'libXcursor.so.1' : 'libxcursor1' ,
271
+ 'libXext.so.6' : 'libxext6' ,
272
+ 'libXfixes.so.3' : 'libxfixes3' ,
273
+ 'libXi.so.6' : 'libxi6' ,
274
+ 'libXrender.so.1' : 'libxrender1' ,
275
+ 'libdbus-glib-1.so.2' : 'libdbus-glib-1-2' ,
276
+ 'libdbus-1.so.3' : 'libdbus-1-3' ,
277
+ 'libpangocairo-1.0.so.0' : 'libpangocairo-1.0-0' ,
278
+ 'libcairo-gobject.so.2' : 'libcairo-gobject2' ,
279
+ 'libxcb-shm.so.0' : 'libxcb-shm0' ,
280
+ 'libpangoft2-1.0.so.0' : 'libpangoft2-1.0-0' ,
281
+ 'libXt.so.6' : 'libxt6' ,
282
+ 'libgthread-2.0.so.0' : 'libglib2.0-0' ,
283
+ 'libgtk-x11-2.0.so.0' : 'libgtk2.0-0' ,
284
+ 'libgdk-x11-2.0.so.0' : 'libgtk2.0-0' ,
285
+ 'libnss3.so' : 'libnss3' ,
286
+ 'libnssutil3.so' : 'libnss3' ,
287
+ 'libsmime3.so' : 'libnss3' ,
288
+ 'libnspr4.so' : 'libnspr4' ,
289
+ 'libxcb-dri3.so.0' : 'libxcb-dri3-0' ,
290
+ 'libXtst.so.6' : 'libxtst6' ,
291
+ 'libcups.so.2' : 'libcups2' ,
292
+ 'libdrm.so.2' : 'libdrm2' ,
293
+ 'libXrandr.so.2' : 'libxrandr2' ,
294
+ 'libgbm.so.1' : 'libgbm1' ,
295
+ 'libasound.so.2' : 'libasound2' ,
296
+ 'libatspi.so.0' : 'libatspi2.0-0' ,
297
+ } ;
0 commit comments