playwright/utils/linux-browser-dependencies
Yury Semikhatsky 70065ba6dd
Revert "chore(driver): roll driver to recent Node.js LTS version (#18… (#18791)
…636)"

The new node resolves loalhost to ::1 by default which breaks API tests
in the ports (Java in particular). Reverting to the previous LTS to
allow some time to implement happy eyeballs algorithm on our end by next
release.

This reverts commit 63a0b75186.
Reference https://github.com/microsoft/playwright/issues/18790
2022-11-14 11:30:36 -08:00
..
inside_docker Revert "chore(driver): roll driver to recent Node.js LTS version (#18… (#18791) 2022-11-14 11:30:36 -08:00
.gitignore devops: add script to generate shared object => package mapping (#3022) 2020-07-20 10:35:42 -07:00
README.md chore: use bash instead of sh in code blocks (#6847) 2021-06-02 18:23:06 +02:00
run.sh chore: add ubuntu 22 support (#14588) 2022-06-09 13:20:18 +02:00

Mapping distribution libraries to package names

Playwright requires a set of packages on Linux distribution for browsers to work. Before launching browser on Linux, Playwright uses ldd to make sure browsers have all dependencies met.

If this is not the case, Playwright suggests users packages to install to meet the dependencies. This tool helps to maintain a map between package names and shared libraries it provides, per distribution.

Usage

To generate a map of browser library to package name on Ubuntu:bionic:

./run.sh ubuntu:bionic

Results will be saved to the RUN_RESULT.

How it works

The script does the following:

  1. Launches docker with given linux distribution
  2. Installs playwright browsers inside the distribution
  3. For every dependency that Playwright browsers miss inside the distribution, uses apt-file to reverse-search package with the library.