@@ -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