playwright/utils/linux-browser-dependencies/README.md
Andrey Lushnikov 377404448c
devops: add script to generate shared object => package mapping (#3022)
We use this mapping to provide recommendations on which packages
to install on Linux distributions.

References #2745
2020-07-20 10:35:42 -07:00

29 lines
902 B
Markdown

# 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:
```sh
$ ./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.