Compare commits
55 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96afc02cad | ||
|
|
024a2e796f | ||
|
|
65ea75914e | ||
|
|
b9734e30e3 | ||
|
|
a91eaeae66 | ||
|
|
5fd9e31957 | ||
|
|
3a9c03a639 | ||
|
|
7c356bdccc | ||
|
|
dc78eb217c | ||
|
|
b98cea8adc | ||
|
|
470b94d722 | ||
|
|
acce7e61bc | ||
|
|
c2ce0737e9 | ||
|
|
a6cb9851d8 | ||
|
|
9d87cbc9e2 | ||
|
|
dfaa2c7ea5 | ||
|
|
a0bace7fd6 | ||
|
|
3da1e049db | ||
|
|
1d41d22536 | ||
|
|
e8a5ac648c | ||
|
|
61c3ac571e | ||
|
|
07f87f7871 | ||
|
|
5a367d30f4 | ||
|
|
ac5140901c | ||
|
|
7df1333d2b | ||
|
|
9ef47bc1b1 | ||
|
|
bc3f3bc008 | ||
|
|
30e4da7ed2 | ||
|
|
1b7b26deeb | ||
|
|
0487f686e2 | ||
|
|
f5a7bad686 | ||
|
|
d48014e2bb | ||
|
|
3809746e7d | ||
|
|
f55a0043ab | ||
|
|
154644c7b4 | ||
|
|
60ee2fe878 | ||
|
|
4db45d6171 | ||
|
|
7045a9c4c7 | ||
|
|
506984d835 | ||
|
|
f94c56d97f | ||
|
|
4309c25508 | ||
|
|
7af896286c | ||
|
|
9666885116 | ||
|
|
7963f6b10a | ||
|
|
0fe00bc9bd | ||
|
|
1cc42c3174 | ||
|
|
4bb3575393 | ||
|
|
44c50f8364 | ||
|
|
76f84c1a27 | ||
|
|
28ef0db7df | ||
|
|
340bfd72bd | ||
|
|
f8f6d27d7e | ||
|
|
767583b9f4 | ||
|
|
ac19b1282b | ||
|
|
88757fba3a |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"env": { "node": true, "jest": true },
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"parserOptions": { "ecmaVersion": 2020, "sourceType": "module" },
|
||||
"parserOptions": { "ecmaVersion": 2019, "sourceType": "module" },
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/eslint-recommended",
|
||||
@@ -10,14 +10,7 @@
|
||||
"plugin:import/warnings",
|
||||
"plugin:import/typescript",
|
||||
"plugin:prettier/recommended",
|
||||
"prettier/@typescript-eslint"
|
||||
"prettier"
|
||||
],
|
||||
"plugins": ["@typescript-eslint", "jest"],
|
||||
"rules": {
|
||||
"camelcase": "off",
|
||||
"require-atomic-updates": "off",
|
||||
"@typescript-eslint/ban-ts-ignore": "off",
|
||||
"@typescript-eslint/camelcase": "off",
|
||||
"@typescript-eslint/no-unused-vars": "off"
|
||||
}
|
||||
"plugins": ["@typescript-eslint", "jest"]
|
||||
}
|
||||
6
.github/FUNDING.yml
vendored
6
.github/FUNDING.yml
vendored
@@ -1,7 +1,7 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: shivammathur
|
||||
issuehunt: shivammathur
|
||||
open_collective: setup-php
|
||||
tidelift: "npm/setup-php"
|
||||
community_bridge: setup-php
|
||||
patreon: shivammathur
|
||||
liberapay: shivammathur
|
||||
custom: https://www.paypal.me/shivammathur
|
||||
|
||||
37
.github/ISSUE_TEMPLATE/bug_report.md
vendored
37
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,23 +1,42 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
about: Nice, you found a bug!
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
labels: 'bug'
|
||||
assignees: 'shivammathur'
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
<!-- Please describe the bug concisely. -->
|
||||
|
||||
**Version**
|
||||
- [ ] I have checked releases and the bug exists in the latest patch version of `v1`.
|
||||
- [ ] `v2`
|
||||
- [ ] `v1`
|
||||
|
||||
**Runners**
|
||||
<!-- Please mark the GitHub Action runner your workflow uses. -->
|
||||
- [ ] GitHub Hosted
|
||||
- [ ] Self Hosted
|
||||
|
||||
**Operating systems**
|
||||
<!-- Please mention the operating systems your workflow uses. -->
|
||||
|
||||
**PHP versions**
|
||||
<!-- Please mention the PHP versions your workflow uses. -->
|
||||
|
||||
**To Reproduce**
|
||||
Please provide the GitHub Action `.yml` file.
|
||||
<!-- Please provide the relevant steps of your workflow `.yml` file. -->
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
**Screenshots/Logs**
|
||||
<!-- If applicable, add screenshots or logs to help explain your problem. -->
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
<!-- Add any other context about the problem here. -->
|
||||
|
||||
**Are you willing to submit a PR?**
|
||||
<!-- We accept pull requests targeting the develop branch. -->
|
||||
26
.github/ISSUE_TEMPLATE/feature_request.md
vendored
26
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,20 +1,26 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
about: Suggest a new feature
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
labels: 'enhancement'
|
||||
assignees: 'shivammathur'
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I want to improve [...]
|
||||
**Describe the feature**
|
||||
<!-- Please describe concisely the feature you want to add. -->
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
**Version**
|
||||
- [ ] I have checked releases and the feature is missing in the latest patch version of `v1`.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
**Underlying issue**
|
||||
<!-- Please describe the issue this would solve. -->
|
||||
|
||||
**Describe alternatives**
|
||||
<!-- Please mention any alternative solutions you've considered. -->
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
<!-- Add any other context or screenshots about the feature request here. -->
|
||||
|
||||
**Are you willing to submit a PR?**
|
||||
<!-- We accept pull requests targeting the develop branch. -->
|
||||
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
16
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -7,14 +7,13 @@ labels: bug or enhancement
|
||||
|
||||
## A Pull Request should be associated with an Issue.
|
||||
|
||||
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||
> and potentially we'll be able to point development in a particular direction.
|
||||
> If you're fixing a bug, adding a new feature or improving something please provide the details in Issues,
|
||||
> so that the development can be pointed in the intended direction.
|
||||
|
||||
Related issue:
|
||||
Related issue: <!-- Please link the related issue -->
|
||||
|
||||
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||
> Thank you for your contribution.
|
||||
|
||||
### Description
|
||||
|
||||
@@ -26,7 +25,12 @@ This PR [briefly explain what it does]
|
||||
- [ ] I have run `npm run format` before the commit.
|
||||
- [ ] I have run `npm run lint` before the commit.
|
||||
- [ ] I have run `npm run release` before the commit.
|
||||
- [ ] `npm test` returns with no unit test errors.
|
||||
- [ ] `npm test` returns with no unit test errors and all code covered.
|
||||
|
||||
> In case this PR edits any scripts:
|
||||
|
||||
- [ ] I have checked the edited scripts for syntax.
|
||||
- [ ] I have tested the changes in an integration test (If yes, provide workflow link).
|
||||
|
||||
<!--
|
||||
- Please target the develop branch when submitting the pull request.
|
||||
|
||||
33
.github/PULL_REQUEST_TEMPLATE/FIX.md
vendored
33
.github/PULL_REQUEST_TEMPLATE/FIX.md
vendored
@@ -1,33 +0,0 @@
|
||||
---
|
||||
name: 🐞 Bug Fix
|
||||
about: You have a fix for a bug?
|
||||
labels: bug
|
||||
|
||||
---
|
||||
|
||||
## A Pull Request should be associated with an Issue.
|
||||
|
||||
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||
> and potentially we'll be able to point development in a particular direction.
|
||||
|
||||
Related issue:
|
||||
|
||||
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||
|
||||
### Description
|
||||
|
||||
This PR [briefly explain what it does]
|
||||
|
||||
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||
|
||||
- [ ] I have written test cases for the changes in this pull request.
|
||||
- [ ] I have run `npm run format` before the commit.
|
||||
- [ ] I have run `npm run lint` before the commit.
|
||||
- [ ] I have run `npm run release` before the commit.
|
||||
- [ ] `npm test` returns with no unit test errors.
|
||||
|
||||
<!--
|
||||
- Please target the develop branch when submitting the pull request.
|
||||
-->
|
||||
33
.github/PULL_REQUEST_TEMPLATE/IMPROVEMENT.md
vendored
33
.github/PULL_REQUEST_TEMPLATE/IMPROVEMENT.md
vendored
@@ -1,33 +0,0 @@
|
||||
---
|
||||
name: ⚙ Improvement
|
||||
about: You have some improvement to make cache-extensions better?
|
||||
labels: enhancement
|
||||
|
||||
---
|
||||
|
||||
## A Pull Request should be associated with an Issue.
|
||||
|
||||
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||
> and potentially we'll be able to point development in a particular direction.
|
||||
|
||||
Related issue:
|
||||
|
||||
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||
|
||||
### Description
|
||||
|
||||
This PR [briefly explain what it does]
|
||||
|
||||
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||
|
||||
- [ ] I have written test cases for the changes in this pull request.
|
||||
- [ ] I have run `npm run format` before the commit.
|
||||
- [ ] I have run `npm run lint` before the commit.
|
||||
- [ ] I have run `npm run release` before the commit.
|
||||
- [ ] `npm test` returns with no unit test errors.
|
||||
|
||||
<!--
|
||||
- Please target the develop branch when submitting the pull request.
|
||||
-->
|
||||
33
.github/PULL_REQUEST_TEMPLATE/NEW_FEATURE.md
vendored
33
.github/PULL_REQUEST_TEMPLATE/NEW_FEATURE.md
vendored
@@ -1,33 +0,0 @@
|
||||
---
|
||||
name: 🎉 New Feature
|
||||
about: You have implemented some neat idea that you want to make part of cache-extensions?
|
||||
labels: enhancement
|
||||
|
||||
---
|
||||
|
||||
## A Pull Request should be associated with an Issue.
|
||||
|
||||
> We wish to have discussions in Issues. A single issue may be targeted by multiple PRs.
|
||||
> If you're offering a new feature or fixing anything, we'd like to know beforehand in Issues,
|
||||
> and potentially we'll be able to point development in a particular direction.
|
||||
|
||||
Related issue:
|
||||
|
||||
> Further notes in [Contribution Guidelines](.github/CONTRIBUTING.md)
|
||||
> Thank you! We are open to PRs, but please understand if for technical reasons we are unable to accept each and any PR
|
||||
|
||||
### Description
|
||||
|
||||
This PR [briefly explain what it does]
|
||||
|
||||
> In case this PR introduced TypeScript/JavaScript code changes:
|
||||
|
||||
- [ ] I have written test cases for the changes in this pull request.
|
||||
- [ ] I have run `npm run format` before the commit.
|
||||
- [ ] I have run `npm run lint` before the commit.
|
||||
- [ ] I have run `npm run release` before the commit.
|
||||
- [ ] `npm test` returns with no unit test errors.
|
||||
|
||||
<!--
|
||||
- Please target the develop branch when submitting the pull request.
|
||||
-->
|
||||
66
.github/workflows/libs.yml
vendored
Normal file
66
.github/workflows/libs.yml
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
name: Libs workflow
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 15 * * *'
|
||||
jobs:
|
||||
update:
|
||||
name: update
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04]
|
||||
steps:
|
||||
- name: Update lists
|
||||
run: |
|
||||
. /etc/lsb-release
|
||||
dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }' | sed 's/:amd64//' > /tmp/"$DISTRIB_CODENAME"-libs
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: lists
|
||||
path: |
|
||||
/tmp/*-libs
|
||||
|
||||
sync:
|
||||
name: sync
|
||||
needs: update
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: develop
|
||||
fetch-depth: 0
|
||||
- name: Download lists
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: lists
|
||||
path: src/lists
|
||||
- name: Update tags and branches
|
||||
run: |
|
||||
push_ref() {
|
||||
ref=$1
|
||||
git push -f https://${{ github.repository_owner }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git "$ref" || true
|
||||
}
|
||||
git config --local user.email "$bot_user_id+github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "github-actions[bot]"
|
||||
if [ "$(git status --porcelain=v1 2>/dev/null | wc -l)" != "0" ]; then
|
||||
git add .
|
||||
git commit -m "Updating lists"
|
||||
fi
|
||||
push_ref develop
|
||||
semver=$(git tag --sort=-refname | awk 'match($0, /^[0-9]+\.[0-9]+\.[0-9]+$/)' | head -n 1)
|
||||
rolling=$(git tag --sort=-refname | awk 'match($0, /^v[0-9]/)' | head -n 1)
|
||||
for branch in master releases/$rolling; do
|
||||
git checkout $branch
|
||||
if [ "$(git rev-parse "$branch")" != "$(git rev-parse develop)" ]; then
|
||||
git merge --allow-unrelated-histories develop || true
|
||||
fi
|
||||
push_ref "$branch"
|
||||
done
|
||||
for tag in $semver $rolling; do
|
||||
git tag -fa "$tag" -m "Update %1 tag"
|
||||
push_ref "$tag"
|
||||
done
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"arrowParens": "avoid",
|
||||
"bracketSpacing": false,
|
||||
"endOfLine": "auto",
|
||||
"parser": "typescript",
|
||||
"printWidth": 80,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"semi": true,
|
||||
"singleQuote": true,
|
||||
"tabWidth": 2,
|
||||
"trailingComma": "none",
|
||||
"bracketSpacing": false,
|
||||
"arrowParens": "avoid",
|
||||
"parser": "typescript"
|
||||
}
|
||||
"useTabs": false
|
||||
}
|
||||
91
README.md
91
README.md
@@ -3,20 +3,24 @@
|
||||
<p align="center">
|
||||
<a href="https://github.com/shivammathur/cache-extensions" title="Cache PHP extensions in GitHub Actions"><img alt="GitHub Actions status" src="https://github.com/shivammathur/cache-extensions/workflows/Main%20workflow/badge.svg"></a>
|
||||
<a href="https://codecov.io/gh/shivammathur/cache-extensions" title="Code coverage"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/cache-extensions/branch/master/graph/badge.svg"></a>
|
||||
<a href="https://github.com/shivammathur/cache-extensions/blob/master/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg"></a>
|
||||
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-%3E%3D%205.3-8892BF.svg"></a>
|
||||
<a href="https://github.com/shivammathur/cache-extensions/blob/master/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555"></a>
|
||||
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.1-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
|
||||
</p>
|
||||
|
||||
Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section to see how to use this.
|
||||
Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section for details and example workflow.
|
||||
|
||||
## Contents
|
||||
|
||||
- [PHP Support](#tada-php-support)
|
||||
- [OS/Platform Support](#cloud-osplatform-support)
|
||||
- [Usage](#memo-usage)
|
||||
- [Inputs](#inputs)
|
||||
- [Workflow](#workflow)
|
||||
- [Thread Safe Setup](#thread-safe-setup)
|
||||
- [License](#scroll-license)
|
||||
- [Contributions](#1-contributions)
|
||||
- [Support this project](#sparkling_heart-support-this-project)
|
||||
- [Support This Project](#sparkling_heart-support-this-project)
|
||||
- [Dependencies](#package-dependencies)
|
||||
|
||||
## :tada: PHP Support
|
||||
|
||||
@@ -28,30 +32,51 @@ Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "Gi
|
||||
|5.6|`Stable`|`End of life`|
|
||||
|7.0|`Stable`|`End of life`|
|
||||
|7.1|`Stable`|`End of life`|
|
||||
|7.2|`Stable`|`Security fixes only`|
|
||||
|7.3|`Stable`|`Active`|
|
||||
|7.2|`Stable`|`End of life`|
|
||||
|7.3|`Stable`|`Security fixes only`|
|
||||
|7.4|`Stable`|`Active`|
|
||||
|8.0|`Experimental`|`In development`|
|
||||
|8.0|`Stable`|`Active`|
|
||||
|8.1|`Nightly`|`In development`|
|
||||
|
||||
## :cloud: OS/Platform Support
|
||||
|
||||
|Virtual environment|matrix.operating-system|
|
||||
|Virtual environment|YAML workflow label|
|
||||
|--- |--- |
|
||||
|Windows Server 2019|`windows-latest` or `windows-2019`|
|
||||
|Ubuntu 18.04|`ubuntu-latest` or `ubuntu-18.04`|
|
||||
|Ubuntu 20.04|`ubuntu-latest` or `ubuntu-20.04`|
|
||||
|Ubuntu 18.04|`ubuntu-18.04`|
|
||||
|Ubuntu 16.04|`ubuntu-16.04`|
|
||||
|macOS X Catalina 10.15|`macos-latest` or `macOS-10.15`|
|
||||
|macOS Catalina 10.15|`macos-latest` or `macOS-10.15`|
|
||||
|macOS Big Sur 11.x|`macOS-11.0`|
|
||||
|
||||
## :memo: Usage
|
||||
|
||||
Inputs supported by this GitHub Action.
|
||||
Use this GitHub Action when the extensions you are adding in [setup-php](https://github.com/shivammathur/setup-php "setup-php GitHub Action") are installed and take a long time to set up. If you are using extensions which have the result `Installed and enabled` in the logs like `pecl` extensions on `Ubuntu` or extensions which have custom support, it is recommended to use this action to cache your extensions.
|
||||
|
||||
- php-version `required`
|
||||
- extensions `required`
|
||||
- key `required`
|
||||
### Inputs
|
||||
|
||||
#### `php-version` (required)
|
||||
|
||||
- Specify the PHP version you want to set-up.
|
||||
- Accepts a `string`. For example `'7.4'`.
|
||||
- See [PHP support](#tada-php-support) for supported PHP versions.
|
||||
|
||||
#### `extensions` (required)
|
||||
|
||||
- Specify the extensions you want to setup.
|
||||
- Accepts a `string` in csv-format. For example `mbstring, xdebug, :opcache`.
|
||||
- Extensions prefixed with `:` are ignored.
|
||||
|
||||
#### `key` (required)
|
||||
|
||||
- Specify the key to identify the cache version.
|
||||
- Accepts any `string`. For example `cache-v1`.
|
||||
- Changing this would reset the cache.
|
||||
|
||||
See [action.yml](action.yml "Metadata for this GitHub Action") and usage below for more info.
|
||||
|
||||
### Workflow
|
||||
|
||||
> Cache extensions in a PHP workflow
|
||||
|
||||
```yaml
|
||||
@@ -71,7 +96,7 @@ jobs:
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup cache environment
|
||||
id: cache-env
|
||||
id: extcache
|
||||
uses: shivammathur/cache-extensions@v1
|
||||
with:
|
||||
php-version: ${{ matrix.php-versions }}
|
||||
@@ -79,11 +104,11 @@ jobs:
|
||||
key: ${{ env.key }}
|
||||
|
||||
- name: Cache extensions
|
||||
uses: actions/cache@v1
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.cache-env.outputs.dir }}
|
||||
key: ${{ steps.cache-env.outputs.key }}
|
||||
restore-keys: ${{ steps.cache-env.outputs.key }}
|
||||
path: ${{ steps.extcache.outputs.dir }}
|
||||
key: ${{ steps.extcache.outputs.key }}
|
||||
restore-keys: ${{ steps.extcache.outputs.key }}
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
@@ -92,19 +117,35 @@ jobs:
|
||||
extensions: ${{ env.extensions }}
|
||||
```
|
||||
|
||||
### Thread Safe Setup
|
||||
|
||||
If you set up both `TS` and `NTS` PHP versions on `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid a conflicting cache.
|
||||
|
||||
```yaml
|
||||
- name: Cache extensions
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{ steps.extcache.outputs.dir }}
|
||||
key: ${{ steps.extcache.outputs.key }}-${{ env.phpts }}
|
||||
restore-keys: ${{ steps.extcache.outputs.key }}-${{ env.phpts }}
|
||||
```
|
||||
|
||||
## :scroll: License
|
||||
|
||||
The scripts and documentation in this project are released under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
|
||||
The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
|
||||
|
||||
## :+1: Contributions
|
||||
|
||||
Contributions are welcome! See [Contributor's Guide](.github/CONTRIBUTING.md "shivammathur/cache-extensions contribution guide"). If you face any issues while using this or want to suggest a feature/improvement, create an issue [here](https://github.com/shivammathur/cache-extensions/issues "Issues reported").
|
||||
|
||||
## :sparkling_heart: Support this project
|
||||
## :sparkling_heart: Support This Project
|
||||
|
||||
If this action helped you.
|
||||
|
||||
- Please star the project and share it with the community.
|
||||
- If you blog, write about your experience while using this action.
|
||||
- I maintain this in my free time, please support me with a [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon") subscription or a one time contribution using [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal").
|
||||
- If you need any help using this, please contact me using [Codementor](https://www.codementor.io/shivammathur "Shivam Mathur Codementor")
|
||||
- Please star the project and share it. If you blog, please share your experience of using this action.
|
||||
- Please consider supporting our work by sponsoring using [Open Collective](https://opencollective.com/setup-php), [Paypal](https://www.paypal.me/shivammathur "Shivam Mathur PayPal") or [Patreon](https://www.patreon.com/shivammathur "Shivam Mathur Patreon").
|
||||
- If you use this action at your company, please [reach out](mailto:contact@setup-php.com) to sponsor the project.
|
||||
|
||||
## :package: Dependencies
|
||||
|
||||
- [Node.js dependencies](https://github.com/shivammathur/setup-php/network/dependencies "Node.js dependencies")
|
||||
|
||||
@@ -1,31 +1,29 @@
|
||||
import * as install from '../src/cache';
|
||||
import path from 'path';
|
||||
import * as cache from '../src/cache';
|
||||
import * as utils from '../src/utils';
|
||||
|
||||
/**
|
||||
* Mock cache.ts
|
||||
*/
|
||||
jest.mock('../src/cache', () => ({
|
||||
run: jest.fn().mockImplementation(
|
||||
async (): Promise<string> => {
|
||||
const version: string = process.env['php-version'] || '';
|
||||
const extensions: string = process.env['extensions'] || '';
|
||||
const key: string = process.env['key'] || '';
|
||||
const script_path = 'extensions.sh';
|
||||
|
||||
return (
|
||||
'bash ' + script_path + ' "' + extensions + '" ' + key + ' ' + version
|
||||
);
|
||||
}
|
||||
)
|
||||
run: jest.fn().mockImplementation(async (): Promise<string> => {
|
||||
const version: string = await utils.parseVersion(
|
||||
process.env['php-version'] || ''
|
||||
);
|
||||
const extensions = await utils.filterExtensions(
|
||||
process.env['extensions'] || ''
|
||||
);
|
||||
const key: string = process.env['key'] || '';
|
||||
return await utils.scriptCall('test', extensions, key, version);
|
||||
})
|
||||
}));
|
||||
|
||||
/**
|
||||
* Function to set the process.env
|
||||
*
|
||||
* @param version
|
||||
* @param os
|
||||
* @param extension_csv
|
||||
* @param ini_values_csv
|
||||
* @param coverage_driver
|
||||
* @param extensions
|
||||
* @param key
|
||||
*/
|
||||
function setEnv(
|
||||
version: string | number,
|
||||
@@ -38,17 +36,22 @@ function setEnv(
|
||||
}
|
||||
|
||||
describe('Install', () => {
|
||||
const spath: string = path.join(__dirname, '../src/scripts/cache.sh');
|
||||
it('Test Run', async () => {
|
||||
setEnv('7.0', 'xdebug, pcov', 'cache-v1');
|
||||
// @ts-ignore
|
||||
const script: string = await install.run();
|
||||
expect(script).toContain('bash extensions.sh "xdebug, pcov" cache-v1 7.0');
|
||||
const script: string = '' + (await cache.run());
|
||||
expect(script).toContain(`bash ${spath} test "xdebug, pcov" cache-v1 7.0`);
|
||||
});
|
||||
|
||||
it('Test Run', async () => {
|
||||
setEnv('7.4', 'xdebug, zip', 'cache-v2');
|
||||
// @ts-ignore
|
||||
const script: string = await install.run();
|
||||
expect(script).toContain('bash extensions.sh "xdebug, zip" cache-v2 7.4');
|
||||
const script: string = '' + (await cache.run());
|
||||
expect(script).toContain(`bash ${spath} test "xdebug, zip" cache-v2 7.4`);
|
||||
});
|
||||
|
||||
it('Test Run', async () => {
|
||||
setEnv('7.4', 'xdebug, :zip', 'cache-v2');
|
||||
const script: string = '' + (await cache.run());
|
||||
expect(script).toContain(`bash ${spath} test "xdebug" cache-v2 7.4`);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,15 +8,49 @@ jest.mock('@actions/core', () => ({
|
||||
})
|
||||
}));
|
||||
|
||||
async function cleanup(path: string): Promise<void> {
|
||||
fs.unlink(path, error => {
|
||||
if (error) {
|
||||
console.log(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
describe('Utils tests', () => {
|
||||
it('checking readEnv', async () => {
|
||||
process.env['test'] = 'setup-php';
|
||||
expect(await utils.readEnv('test')).toBe('setup-php');
|
||||
expect(await utils.readEnv('undefined')).toBe('');
|
||||
});
|
||||
|
||||
it('checking getInput', async () => {
|
||||
process.env['test'] = 'cache-extensions';
|
||||
process.env['undefined'] = '';
|
||||
expect(await utils.getInput('test', false)).toBe('cache-extensions');
|
||||
expect(await utils.getInput('undefined', false)).toBe('');
|
||||
process.env['test'] = 'setup-php';
|
||||
expect(await utils.getInput('test', false)).toBe('setup-php');
|
||||
expect(await utils.getInput('cache-extensions', false)).toBe(
|
||||
'cache-extensions'
|
||||
);
|
||||
expect(await utils.getInput('DoesNotExist', false)).toBe('');
|
||||
await expect(async () => {
|
||||
await utils.getInput('DoesNotExist', true);
|
||||
}).rejects.toThrow('Input required and not supplied: DoesNotExist');
|
||||
});
|
||||
|
||||
it('checking getOutput', async () => {
|
||||
const temp_dir: string = process.env['RUNNER_TEMP'] || '';
|
||||
const file_path: string = path.join(temp_dir, 'test');
|
||||
fs.writeFileSync(file_path, 'test', {mode: 0o755});
|
||||
expect(await utils.getOutput('test')).toBe('test');
|
||||
await cleanup(file_path);
|
||||
});
|
||||
|
||||
it('checking parseVersion', async () => {
|
||||
expect(await utils.parseVersion('7')).toBe('7.0');
|
||||
expect(await utils.parseVersion('7.4')).toBe('7.4');
|
||||
expect(await utils.parseVersion('latest')).toBe('7.4');
|
||||
});
|
||||
|
||||
it('checking filterExtensions', async () => {
|
||||
expect(await utils.filterExtensions('a,:b,c')).toBe('"a,c"');
|
||||
expect(await utils.filterExtensions('a, :b, c')).toBe('"a, c"');
|
||||
});
|
||||
});
|
||||
|
||||
59307
dist/index.js
vendored
59307
dist/index.js
vendored
File diff suppressed because one or more lines are too long
13452
package-lock.json
generated
13452
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
50
package.json
50
package.json
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "cache-extensions",
|
||||
"version": "1.0.3",
|
||||
"version": "1.6.0",
|
||||
"private": false,
|
||||
"description": "Cache extensions in GitHub Actions",
|
||||
"main": "dist/index.js",
|
||||
"description": "Cache PHP extensions in GitHub Actions",
|
||||
"main": "lib/cache.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"lint": "eslint **/*.ts --cache",
|
||||
"format": "prettier --write **/*.ts && git add .",
|
||||
"format-check": "prettier --check **/*.ts",
|
||||
"release": "ncc build src/cache.ts -o dist && git add -f dist/",
|
||||
"release": "ncc build -o dist && git add -f dist/",
|
||||
"test": "jest"
|
||||
},
|
||||
"repository": {
|
||||
@@ -19,36 +19,38 @@
|
||||
"keywords": [
|
||||
"actions",
|
||||
"php",
|
||||
"setup"
|
||||
"extension",
|
||||
"cache"
|
||||
],
|
||||
"author": "shivammathur",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.3",
|
||||
"@actions/exec": "^1.0.3"
|
||||
"@actions/cache": "^1.0.7",
|
||||
"@actions/core": "^1.4.0",
|
||||
"@actions/exec": "^1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/jest": "^25.1.4",
|
||||
"@types/node": "^13.9.0",
|
||||
"@typescript-eslint/eslint-plugin": "^2.22.0",
|
||||
"@typescript-eslint/parser": "^2.22.0",
|
||||
"@zeit/ncc": "^0.21.1",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-prettier": "^6.10.0",
|
||||
"eslint-plugin-import": "^2.20.1",
|
||||
"eslint-plugin-jest": "^23.8.2",
|
||||
"eslint-plugin-prettier": "^3.1.2",
|
||||
"husky": "^4.2.3",
|
||||
"jest": "^25.1.0",
|
||||
"jest-circus": "^25.1.0",
|
||||
"prettier": "^1.19.1",
|
||||
"ts-jest": "^25.2.1",
|
||||
"typescript": "^3.8.3"
|
||||
"@types/jest": "^26.0.23",
|
||||
"@types/node": "^15.14.0",
|
||||
"@typescript-eslint/eslint-plugin": "^4.28.1",
|
||||
"@typescript-eslint/parser": "^4.28.1",
|
||||
"@vercel/ncc": "^0.28.6",
|
||||
"eslint": "^7.29.0",
|
||||
"eslint-config-prettier": "^8.3.0",
|
||||
"eslint-plugin-import": "^2.23.4",
|
||||
"eslint-plugin-jest": "^24.3.6",
|
||||
"eslint-plugin-prettier": "^3.4.0",
|
||||
"husky": "^4.3.8",
|
||||
"jest": "^27.0.6",
|
||||
"jest-circus": "^27.0.6",
|
||||
"prettier": "^2.3.2",
|
||||
"ts-jest": "^27.0.3",
|
||||
"typescript": "^4.3.5"
|
||||
},
|
||||
"husky": {
|
||||
"skipCI": true,
|
||||
"hooks": {
|
||||
"pre-commit": "npm run format && npm run lint && npm run build && npm run release"
|
||||
"pre-commit": "npm run format && npm run lint && npm run test && npm run build && npm run release"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
52
src/cache.ts
52
src/cache.ts
@@ -1,25 +1,59 @@
|
||||
import {exec} from '@actions/exec/lib/exec';
|
||||
import {exec} from '@actions/exec';
|
||||
import * as cache from '@actions/cache';
|
||||
import * as core from '@actions/core';
|
||||
import * as path from 'path';
|
||||
import * as utils from './utils';
|
||||
|
||||
/**
|
||||
* Handle dependencies
|
||||
*
|
||||
* @param extensions
|
||||
* @param version
|
||||
*/
|
||||
export async function handleDependencies(
|
||||
extensions: string,
|
||||
version: string
|
||||
): Promise<void> {
|
||||
if (!/^5.[3-5]$/.test(version) && /linux|darwin/.test(process.platform)) {
|
||||
const cache_key: string = (await utils.getOutput('key')) + '-deps';
|
||||
const cache_dir: string = path.join(
|
||||
await utils.readEnv('RUNNER_TOOL_CACHE'),
|
||||
'deps'
|
||||
);
|
||||
const cache_hit: string | undefined = await cache.restoreCache(
|
||||
[cache_dir],
|
||||
cache_key,
|
||||
[cache_key]
|
||||
);
|
||||
await exec(await utils.scriptCall('dependencies', extensions, version));
|
||||
if (!cache_hit) {
|
||||
await cache.saveCache([cache_dir], cache_key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the script
|
||||
*/
|
||||
export async function run(): Promise<void> {
|
||||
try {
|
||||
let version: string = await utils.getInput('php-version', true);
|
||||
version = version.length > 1 ? version.slice(0, 3) : version + '.0';
|
||||
const extensions: string = await utils.getInput('extensions', true);
|
||||
const key: string = await utils.getInput('key', true);
|
||||
const script_path: string = path.join(__dirname, '../src/extensions.sh');
|
||||
await exec(
|
||||
'bash ' + script_path + ' "' + extensions + '" ' + key + ' ' + version
|
||||
const version: string = await utils.parseVersion(
|
||||
await utils.getInput('php-version', true)
|
||||
);
|
||||
const extensions: string = await utils.filterExtensions(
|
||||
await utils.getInput('extensions', true)
|
||||
);
|
||||
const key: string = await utils.getInput('key', true);
|
||||
await exec(await utils.scriptCall('data', extensions, version, key));
|
||||
await handleDependencies(extensions, version);
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
}
|
||||
|
||||
// call the run function
|
||||
run();
|
||||
(async () => {
|
||||
await run();
|
||||
})().catch(error => {
|
||||
core.setFailed(error.message);
|
||||
});
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
linux_extension_dir() {
|
||||
apiv=$1
|
||||
old_versions_linux="5.[4-5]"
|
||||
if [ "$version" = "5.3" ]; then
|
||||
echo "/home/runner/php/5.3.29/lib/php/extensions/no-debug-non-zts-$apiv"
|
||||
elif [[ "$version" =~ $old_versions_linux ]]; then
|
||||
echo "/usr/lib/php5/$apiv"
|
||||
elif [ "$version" = "8.0" ]; then
|
||||
echo "/home/runner/php/8.0/lib/php/extensions/no-debug-non-zts-$apiv"
|
||||
else
|
||||
echo "/usr/lib/php/$apiv"
|
||||
fi
|
||||
}
|
||||
|
||||
darwin_extension_dir() {
|
||||
apiv=$1
|
||||
old_versions_darwin="5.[3-5]"
|
||||
if [[ "$version" =~ $old_versions_darwin ]]; then
|
||||
echo "/opt/local/lib/php${version/./}/extensions/no-debug-non-zts-$apiv"
|
||||
else
|
||||
echo "/usr/local/lib/php/pecl/$apiv"
|
||||
fi
|
||||
}
|
||||
|
||||
get_apiv() {
|
||||
case $version in
|
||||
5.3) echo "20090626" ;;
|
||||
5.4) echo "20100525" ;;
|
||||
5.5) echo "20121212" ;;
|
||||
5.6) echo "20131226" ;;
|
||||
7.0) echo "20151012" ;;
|
||||
7.1) echo "20160303" ;;
|
||||
7.2) echo "20170718" ;;
|
||||
7.3) echo "20180731" ;;
|
||||
7.4) echo "20190902" ;;
|
||||
*)
|
||||
php_h="https://raw.githubusercontent.com/php/php-src/master/main/php.h"
|
||||
curl -sSL --retry 5 "$php_h" | grep "PHP_API_VERSION" | cut -d' ' -f 3
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
setup_dependencies() {
|
||||
exts=$1
|
||||
release=$2
|
||||
empty_reg="\s+|^$"
|
||||
script_dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )
|
||||
exts=${exts//,/}
|
||||
for ext in $exts; do
|
||||
if grep -i -q -w "$ext" "$script_dir"/lists/"$release"-php"$version"-extensions; then
|
||||
exts=${exts//$ext/}
|
||||
fi
|
||||
done
|
||||
if [[ ! "$exts" =~ $empty_reg ]]; then
|
||||
# shellcheck disable=SC2001,SC2086
|
||||
exts=$(echo ${exts//pdo_} | sed "s/[^ ]* */php$version-&/g")
|
||||
# shellcheck disable=SC2086
|
||||
deps=$(apt-cache depends $exts 2>/dev/null | awk '/Depends: lib/{print$2}')
|
||||
for dep in $deps; do
|
||||
if grep -i -q -w "$dep" "$script_dir"/lists/"$release"-libs; then
|
||||
deps=${deps//$dep/}
|
||||
fi
|
||||
done
|
||||
if [[ ! "${deps[*]}" =~ $empty_reg ]]; then
|
||||
echo "Adding ${deps[*]}"
|
||||
# shellcheck disable=SC2068
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install --no-install-recommends --no-upgrade -y ${deps[@]}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
extensions=$1
|
||||
key=$2
|
||||
version=$3
|
||||
os=$(uname -s)
|
||||
if [ "$os" = "Linux" ]; then
|
||||
release=$(lsb_release -s -c)
|
||||
os=$os-$release
|
||||
apiv=$(get_apiv)
|
||||
dir=$(linux_extension_dir "$apiv")
|
||||
sudo mkdir -p "$dir" && sudo chown -R "$USER":"$(id -g -n)" "$(dirname "$dir")"
|
||||
setup_dependencies "$extensions" "$release"
|
||||
elif [ "$os" = "Darwin" ]; then
|
||||
apiv=$(get_apiv)
|
||||
dir=$(darwin_extension_dir "$apiv")
|
||||
sudo mkdir -p "$dir" && sudo chown -R "$USER":"$(id -g -n)" "$(dirname "$dir")"
|
||||
else
|
||||
os="Windows"
|
||||
dir='C:\\tools\\php\\ext'
|
||||
fi
|
||||
key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2)
|
||||
echo "::set-output name=dir::$dir"
|
||||
echo "::set-output name=key::$key"
|
||||
@@ -1,18 +1,22 @@
|
||||
lib32gcc1
|
||||
lib32stdc++6
|
||||
lib32z1
|
||||
libaccountsservice0
|
||||
libacl1
|
||||
libaio1
|
||||
libapparmor1
|
||||
libappindicator3-1
|
||||
libapr1
|
||||
libaprutil1
|
||||
libaprutil1-dbd-sqlite3
|
||||
libaprutil1-ldap
|
||||
libapt-inst2.0
|
||||
libapt-pkg5.0
|
||||
libarchive13
|
||||
libargon2-0
|
||||
libargon2-1
|
||||
libasan4
|
||||
libasan5
|
||||
libasan6
|
||||
libasn1-8-heimdal
|
||||
libasound2
|
||||
libasound2-data
|
||||
@@ -33,16 +37,19 @@ libavahi-common-data
|
||||
libavahi-common3
|
||||
libbind9-160
|
||||
libbinutils
|
||||
libbison-dev
|
||||
libblas-dev
|
||||
libblas3
|
||||
libblkid1
|
||||
libboost-context1.65.1
|
||||
libboost-filesystem1.65.1
|
||||
libboost-program-options1.65.1
|
||||
libboost-system1.65.1
|
||||
libboost-thread1.65.1
|
||||
libbsd0
|
||||
libburn4
|
||||
libbz2-1.0
|
||||
libbz2-dev
|
||||
libc++-dev
|
||||
libc++-helpers
|
||||
libc++1
|
||||
libc++abi-dev
|
||||
libc++abi1
|
||||
libc-ares2
|
||||
libc-bin
|
||||
libc-client2007e
|
||||
@@ -63,20 +70,15 @@ libcgi-fast-perl
|
||||
libcgi-pm-perl
|
||||
libcgroup1
|
||||
libcilkrts5
|
||||
libclang-common-6.0-dev
|
||||
libclang-common-8-dev
|
||||
libclang-common-9-dev
|
||||
libclang-cpp9
|
||||
libclang1-6.0
|
||||
libclang1-8
|
||||
libclang1-9
|
||||
libcolord2
|
||||
libcom-err2
|
||||
libcommon-sense-perl
|
||||
libcroco3
|
||||
libcryptsetup12
|
||||
libcups2
|
||||
libcupsfilters1
|
||||
libcupsimage2
|
||||
libcurl3-gnutls
|
||||
libcurl4
|
||||
libdata-dump-perl
|
||||
@@ -143,10 +145,13 @@ libfreetype6
|
||||
libfreetype6-dev
|
||||
libfribidi0
|
||||
libfuse2
|
||||
libgbm-dev
|
||||
libgbm1
|
||||
libgc1c2
|
||||
libgcc-10-dev
|
||||
libgcc-7-dev
|
||||
libgcc-8-dev
|
||||
libgcc-9-dev
|
||||
libgcc-s1
|
||||
libgcc1
|
||||
libgconf-2-4
|
||||
libgcrypt20
|
||||
@@ -159,8 +164,10 @@ libgdk-pixbuf2.0-common
|
||||
libgdk-pixbuf2.0-dev
|
||||
libgeoip1
|
||||
libgflags2.2
|
||||
libgfortran-8-dev
|
||||
libgfortran-10-dev
|
||||
libgfortran-7-dev
|
||||
libgfortran-9-dev
|
||||
libgfortran4
|
||||
libgfortran5
|
||||
libgif7
|
||||
libgirepository-1.0-1
|
||||
@@ -185,11 +192,13 @@ libgnutls30
|
||||
libgomp1
|
||||
libgoogle-glog0v5
|
||||
libgpg-error0
|
||||
libgpgme11
|
||||
libgpm2
|
||||
libgraphite2-3
|
||||
libgraphite2-dev
|
||||
libgs9
|
||||
libgs9-common
|
||||
libgsl-dev
|
||||
libgsl23
|
||||
libgslcblas0
|
||||
libgssapi-krb5-2
|
||||
libgssapi3-heimdal
|
||||
libgtk-3-0
|
||||
@@ -201,6 +210,7 @@ libharfbuzz-dev
|
||||
libharfbuzz-gobject0
|
||||
libharfbuzz-icu0
|
||||
libharfbuzz0b
|
||||
libhavege1
|
||||
libhcrypto4-heimdal
|
||||
libheimbase1-heimdal
|
||||
libheimntlm0-heimdal
|
||||
@@ -228,10 +238,8 @@ libicu65
|
||||
libiculx60
|
||||
libidn11
|
||||
libidn2-0
|
||||
libijs-0.35
|
||||
libilmbase-dev
|
||||
libilmbase12
|
||||
libindicator3-7
|
||||
libio-html-perl
|
||||
libio-socket-ssl-perl
|
||||
libip4tc0
|
||||
@@ -251,7 +259,6 @@ libitm1
|
||||
libjansson4
|
||||
libjbig-dev
|
||||
libjbig0
|
||||
libjbig2dec0
|
||||
libjpeg-dev
|
||||
libjpeg-turbo8
|
||||
libjpeg-turbo8-dev
|
||||
@@ -262,7 +269,8 @@ libjs-jquery
|
||||
libjson-c3
|
||||
libjson-glib-1.0-0
|
||||
libjson-glib-1.0-common
|
||||
libjsoncpp1
|
||||
libjson-perl
|
||||
libjson-xs-perl
|
||||
libjte1
|
||||
libk5crypto3
|
||||
libkeyutils1
|
||||
@@ -272,16 +280,16 @@ libkrb5-26-heimdal
|
||||
libkrb5-3
|
||||
libkrb5support0
|
||||
libksba8
|
||||
liblapack-dev
|
||||
liblapack3
|
||||
liblcms2-2
|
||||
liblcms2-dev
|
||||
libldap-2.4-2
|
||||
libldap-common
|
||||
libldb1
|
||||
liblldb-6.0
|
||||
liblldb-8
|
||||
liblldb-9
|
||||
libllvm10
|
||||
libllvm6.0
|
||||
libllvm8
|
||||
libllvm9
|
||||
liblmdb0
|
||||
liblocale-gettext-perl
|
||||
@@ -319,7 +327,9 @@ libmagickwand-6.q16-dev
|
||||
libmagickwand-dev
|
||||
libmailtools-perl
|
||||
libmcrypt4
|
||||
libmediainfo0v5
|
||||
libmemcached11
|
||||
libmms0
|
||||
libmnl0
|
||||
libmono-2.0-1
|
||||
libmono-2.0-dev
|
||||
@@ -474,17 +484,27 @@ libmspack0
|
||||
libmysqlclient-dev
|
||||
libmysqlclient20
|
||||
libncurses5
|
||||
libncurses5-dev
|
||||
libncursesw5
|
||||
libnet-dbus-perl
|
||||
libnet-http-perl
|
||||
libnet-smtp-ssl-perl
|
||||
libnet-ssleay-perl
|
||||
libnet1
|
||||
libnetfilter-conntrack3
|
||||
libnetplan0
|
||||
libnettle6
|
||||
libnewt0.52
|
||||
libnfnetlink0
|
||||
libnghttp2-14
|
||||
libnginx-mod-http-geoip
|
||||
libnginx-mod-http-image-filter
|
||||
libnginx-mod-http-xslt-filter
|
||||
libnginx-mod-mail
|
||||
libnginx-mod-stream
|
||||
libnih1
|
||||
libnl-3-200
|
||||
libnl-genl-3-200
|
||||
libnorm1
|
||||
libnotify4
|
||||
libnpth0
|
||||
@@ -528,7 +548,6 @@ libpcre3
|
||||
libpcre3-dev
|
||||
libpcre32-3
|
||||
libpcrecpp0v5
|
||||
libpcsclite1
|
||||
libperl5.26
|
||||
libpfm4
|
||||
libpgm-5.2-0
|
||||
@@ -545,6 +564,8 @@ libpopt0
|
||||
libpq-dev
|
||||
libpq5
|
||||
libprocps6
|
||||
libprotobuf-c1
|
||||
libprotobuf10
|
||||
libproxy1v5
|
||||
libpsl5
|
||||
libpthread-stubs0-dev
|
||||
@@ -564,6 +585,7 @@ libqdbm14
|
||||
libquadmath0
|
||||
librabbitmq4
|
||||
libre2-4
|
||||
libreadline-dev
|
||||
libreadline5
|
||||
libreadline7
|
||||
librecode0
|
||||
@@ -603,13 +625,13 @@ libsodium23
|
||||
libsoup-gnome2.4-1
|
||||
libsoup2.4-1
|
||||
libsqlite3-0
|
||||
libsqlite3-dev
|
||||
libss2
|
||||
libssl-dev
|
||||
libssl1.0.0
|
||||
libssl1.1
|
||||
libstartup-notification0
|
||||
libstdc++-10-dev
|
||||
libstdc++-7-dev
|
||||
libstdc++-8-dev
|
||||
libstdc++-9-dev
|
||||
libstdc++6
|
||||
libstemmer0d
|
||||
@@ -624,6 +646,7 @@ libtdb1
|
||||
libtevent0
|
||||
libtext-charwidth-perl
|
||||
libtext-iconv-perl
|
||||
libtext-unidecode-perl
|
||||
libtext-wrapi18n-perl
|
||||
libthai-data
|
||||
libthai0
|
||||
@@ -636,11 +659,13 @@ libtiffxx5
|
||||
libtimedate-perl
|
||||
libtinfo-dev
|
||||
libtinfo5
|
||||
libtinyxml2-6
|
||||
libtk8.6
|
||||
libtommath1
|
||||
libtool
|
||||
libtry-tiny-perl
|
||||
libtsan0
|
||||
libtypes-serialiser-perl
|
||||
libu2f-udev
|
||||
libubsan0
|
||||
libubsan1
|
||||
@@ -657,9 +682,11 @@ libuv1
|
||||
libvorbis0a
|
||||
libvorbisfile3
|
||||
libvpx5
|
||||
libvulkan1
|
||||
libwayland-client0
|
||||
libwayland-cursor0
|
||||
libwayland-egl1
|
||||
libwayland-server0
|
||||
libwbclient0
|
||||
libwebp6
|
||||
libwind0-heimdal
|
||||
@@ -688,7 +715,6 @@ libxcb-shape0
|
||||
libxcb-shm0
|
||||
libxcb-shm0-dev
|
||||
libxcb-sync1
|
||||
libxcb-util1
|
||||
libxcb1
|
||||
libxcb1-dev
|
||||
libxcomposite1
|
||||
@@ -707,7 +733,11 @@ libxinerama1
|
||||
libxkbcommon0
|
||||
libxkbfile-dev
|
||||
libxkbfile1
|
||||
libxml-libxml-perl
|
||||
libxml-namespacesupport-perl
|
||||
libxml-parser-perl
|
||||
libxml-sax-base-perl
|
||||
libxml-sax-perl
|
||||
libxml-twig-perl
|
||||
libxml-xpathengine-perl
|
||||
libxml2
|
||||
@@ -731,7 +761,10 @@ libxtst6
|
||||
libxv1
|
||||
libxxf86dga1
|
||||
libxxf86vm1
|
||||
libyajl2
|
||||
libyaml-0-2
|
||||
libzen0v5
|
||||
libzip4
|
||||
libzmq5
|
||||
libzstd1
|
||||
python3-oauthlib
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
[PHP Modules]
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
hash
|
||||
iconv
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcached
|
||||
mongo
|
||||
mysql
|
||||
mysqli
|
||||
mysqlnd
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_sqlite
|
||||
Phar
|
||||
posix
|
||||
readline
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
SQLite
|
||||
sqlite3
|
||||
standard
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
[PHP Modules]
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
hash
|
||||
iconv
|
||||
imagick
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcached
|
||||
mhash
|
||||
mysql
|
||||
mysqli
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
[PHP Modules]
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
hash
|
||||
iconv
|
||||
imagick
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcached
|
||||
mhash
|
||||
mysql
|
||||
mysqli
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apc
|
||||
apcu
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gettext
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mhash
|
||||
mongodb
|
||||
msgpack
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
Phar
|
||||
posix
|
||||
readline
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
sockets
|
||||
SPL
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dom
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gettext
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
openssl
|
||||
pcntl
|
||||
pcov
|
||||
pcre
|
||||
PDO
|
||||
Phar
|
||||
posix
|
||||
readline
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
sockets
|
||||
SPL
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
[PHP Modules]
|
||||
bcmath
|
||||
bz2
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dom
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
hash
|
||||
iconv
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_sqlite
|
||||
Phar
|
||||
posix
|
||||
readline
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
|
||||
12
src/lists/darwin-extensions
Normal file
12
src/lists/darwin-extensions
Normal file
@@ -0,0 +1,12 @@
|
||||
amqp
|
||||
grpc
|
||||
imagick
|
||||
imap
|
||||
memcached
|
||||
pecl_http
|
||||
phalcon3
|
||||
phalcon4
|
||||
psr
|
||||
rdkafka
|
||||
redis
|
||||
zmq
|
||||
781
src/lists/focal-libs
Normal file
781
src/lists/focal-libs
Normal file
@@ -0,0 +1,781 @@
|
||||
lib32gcc-s1
|
||||
lib32stdc++6
|
||||
lib32z1
|
||||
libaccountsservice0
|
||||
libacl1
|
||||
libaio1
|
||||
libapparmor1
|
||||
libappstream4
|
||||
libapr1
|
||||
libaprutil1
|
||||
libaprutil1-dbd-sqlite3
|
||||
libaprutil1-ldap
|
||||
libapt-pkg6.0
|
||||
libarchive13
|
||||
libargon2-1
|
||||
libaria2-0
|
||||
libasan5
|
||||
libasan6
|
||||
libasn1-8-heimdal
|
||||
libasound2
|
||||
libasound2-data
|
||||
libaspell15
|
||||
libassuan0
|
||||
libatk-bridge2.0-0
|
||||
libatk1.0-0
|
||||
libatk1.0-data
|
||||
libatm1
|
||||
libatomic1
|
||||
libatspi2.0-0
|
||||
libattr1
|
||||
libaudit-common
|
||||
libaudit1
|
||||
libauthen-sasl-perl
|
||||
libavahi-client3
|
||||
libavahi-common-data
|
||||
libavahi-common3
|
||||
libbinutils
|
||||
libblas-dev
|
||||
libblas3
|
||||
libblkid-dev
|
||||
libblkid1
|
||||
libboost-context1.71.0
|
||||
libboost-filesystem1.71.0
|
||||
libboost-program-options1.71.0
|
||||
libboost-thread1.71.0
|
||||
libbrotli1
|
||||
libbsd0
|
||||
libburn4
|
||||
libbz2-1.0
|
||||
libbz2-dev
|
||||
libc++-10-dev
|
||||
libc++-dev
|
||||
libc++1-10
|
||||
libc++abi-10-dev
|
||||
libc++abi-dev
|
||||
libc++abi1-10
|
||||
libc-ares2
|
||||
libc-bin
|
||||
libc-client2007e
|
||||
libc-dev-bin
|
||||
libc6
|
||||
libc6-dev
|
||||
libc6-i386
|
||||
libcairo-gobject2
|
||||
libcairo-script-interpreter2
|
||||
libcairo2
|
||||
libcairo2-dev
|
||||
libcanberra0
|
||||
libcap-ng0
|
||||
libcap2
|
||||
libcap2-bin
|
||||
libcbor0.6
|
||||
libcc1-0
|
||||
libcgi-fast-perl
|
||||
libcgi-pm-perl
|
||||
libcgroup1
|
||||
libclang-common-10-dev
|
||||
libclang-common-11-dev
|
||||
libclang-common-12-dev
|
||||
libclang-cpp10
|
||||
libclang-cpp11
|
||||
libclang-cpp12
|
||||
libclang1-10
|
||||
libclang1-11
|
||||
libclang1-12
|
||||
libcolord2
|
||||
libcom-err2
|
||||
libcommon-sense-perl
|
||||
libcrypt-dev
|
||||
libcrypt1
|
||||
libcryptsetup12
|
||||
libctf-nobfd0
|
||||
libctf0
|
||||
libcups2
|
||||
libcurl3-gnutls
|
||||
libcurl4
|
||||
libdata-dump-perl
|
||||
libdatrie1
|
||||
libdb5.3
|
||||
libdbus-1-3
|
||||
libdbus-glib-1-2
|
||||
libdbusmenu-glib4
|
||||
libdbusmenu-gtk3-4
|
||||
libdconf1
|
||||
libdebconfclient0
|
||||
libdevmapper-event1.02.1
|
||||
libdevmapper1.02.1
|
||||
libdjvulibre-dev
|
||||
libdjvulibre-text
|
||||
libdjvulibre21
|
||||
libdns-export1109
|
||||
libdpkg-perl
|
||||
libdrm-amdgpu1
|
||||
libdrm-common
|
||||
libdrm-intel1
|
||||
libdrm-nouveau2
|
||||
libdrm-radeon1
|
||||
libdrm2
|
||||
libdw1
|
||||
libdwarf1
|
||||
libeatmydata1
|
||||
libedit2
|
||||
libefiboot1
|
||||
libefivar1
|
||||
libelf1
|
||||
libenchant-2-2
|
||||
libencode-locale-perl
|
||||
libepoxy0
|
||||
liberror-perl
|
||||
libestr0
|
||||
libevent-2.1-7
|
||||
libevent-core-2.1-7
|
||||
libevent-pthreads-2.1-7
|
||||
libexif-dev
|
||||
libexif12
|
||||
libexpat1
|
||||
libexpat1-dev
|
||||
libext2fs2
|
||||
libfakeroot
|
||||
libfastjson4
|
||||
libfbclient2
|
||||
libfcgi-perl
|
||||
libfdisk1
|
||||
libffi-dev
|
||||
libffi7
|
||||
libfftw3-double3
|
||||
libfido2-1
|
||||
libfile-basedir-perl
|
||||
libfile-desktopentry-perl
|
||||
libfile-listing-perl
|
||||
libfile-mimeinfo-perl
|
||||
libfl2
|
||||
libfont-afm-perl
|
||||
libfontconfig1
|
||||
libfontconfig1-dev
|
||||
libfontenc1
|
||||
libfreetype-dev
|
||||
libfreetype6
|
||||
libfreetype6-dev
|
||||
libfribidi0
|
||||
libfuse2
|
||||
libfuse3-3
|
||||
libfwupd2
|
||||
libfwupdplugin1
|
||||
libgbm-dev
|
||||
libgbm1
|
||||
libgc1c2
|
||||
libgcab-1.0-0
|
||||
libgcc-10-dev
|
||||
libgcc-9-dev
|
||||
libgcc-s1
|
||||
libgconf-2-4
|
||||
libgcrypt20
|
||||
libgd3
|
||||
libgdbm-compat4
|
||||
libgdbm6
|
||||
libgdiplus
|
||||
libgdk-pixbuf2.0-0
|
||||
libgdk-pixbuf2.0-bin
|
||||
libgdk-pixbuf2.0-common
|
||||
libgdk-pixbuf2.0-dev
|
||||
libgflags2.2
|
||||
libgfortran-10-dev
|
||||
libgfortran-9-dev
|
||||
libgfortran5
|
||||
libgif7
|
||||
libgirepository-1.0-1
|
||||
libgl1
|
||||
libgl1-mesa-dri
|
||||
libglapi-mesa
|
||||
libglib2.0-0
|
||||
libglib2.0-bin
|
||||
libglib2.0-data
|
||||
libglib2.0-dev
|
||||
libglib2.0-dev-bin
|
||||
libglvnd0
|
||||
libglx-mesa0
|
||||
libglx0
|
||||
libgmp-dev
|
||||
libgmp10
|
||||
libgmpxx4ldbl
|
||||
libgnutls30
|
||||
libgomp1
|
||||
libgoogle-glog0v5
|
||||
libgpg-error0
|
||||
libgpgme11
|
||||
libgpm2
|
||||
libgraphite2-3
|
||||
libgsl-dev
|
||||
libgsl23
|
||||
libgslcblas0
|
||||
libgssapi-krb5-2
|
||||
libgssapi3-heimdal
|
||||
libgstreamer1.0-0
|
||||
libgtk-3-0
|
||||
libgtk-3-common
|
||||
libgudev-1.0-0
|
||||
libgusb2
|
||||
libharfbuzz0b
|
||||
libhavege1
|
||||
libhcrypto4-heimdal
|
||||
libheimbase1-heimdal
|
||||
libheimntlm0-heimdal
|
||||
libhogweed5
|
||||
libhtml-form-perl
|
||||
libhtml-format-perl
|
||||
libhtml-parser-perl
|
||||
libhtml-tagset-perl
|
||||
libhtml-template-perl
|
||||
libhtml-tree-perl
|
||||
libhttp-cookies-perl
|
||||
libhttp-daemon-perl
|
||||
libhttp-date-perl
|
||||
libhttp-message-perl
|
||||
libhttp-negotiate-perl
|
||||
libhunspell-1.7-0
|
||||
libhx509-5-heimdal
|
||||
libice-dev
|
||||
libice6
|
||||
libicu-dev
|
||||
libicu66
|
||||
libidn11
|
||||
libidn2-0
|
||||
libilmbase-dev
|
||||
libilmbase24
|
||||
libio-html-perl
|
||||
libio-socket-ssl-perl
|
||||
libio-stringy-perl
|
||||
libip4tc2
|
||||
libip6tc2
|
||||
libipc-system-simple-perl
|
||||
libisc-export1105
|
||||
libisl22
|
||||
libisns0
|
||||
libisoburn1
|
||||
libisofs6
|
||||
libitm1
|
||||
libjansson4
|
||||
libjbig-dev
|
||||
libjbig0
|
||||
libjemalloc2
|
||||
libjpeg-dev
|
||||
libjpeg-turbo8
|
||||
libjpeg-turbo8-dev
|
||||
libjpeg8
|
||||
libjpeg8-dev
|
||||
libjq1
|
||||
libjs-jquery
|
||||
libjs-xmlextras
|
||||
libjson-c4
|
||||
libjson-glib-1.0-0
|
||||
libjson-glib-1.0-common
|
||||
libjson-perl
|
||||
libjson-xs-perl
|
||||
libjte2
|
||||
libk5crypto3
|
||||
libkeyutils1
|
||||
libklibc
|
||||
libkmod2
|
||||
libkrb5-26-heimdal
|
||||
libkrb5-3
|
||||
libkrb5support0
|
||||
libksba8
|
||||
liblapack-dev
|
||||
liblapack3
|
||||
liblcms2-2
|
||||
liblcms2-dev
|
||||
libldap-2.4-2
|
||||
libldap-common
|
||||
liblldb-10
|
||||
liblldb-11
|
||||
liblldb-12
|
||||
libllvm10
|
||||
libllvm11
|
||||
libllvm12
|
||||
libllvm9
|
||||
liblmdb0
|
||||
liblocale-gettext-perl
|
||||
liblqr-1-0
|
||||
liblqr-1-0-dev
|
||||
liblsan0
|
||||
libltdl-dev
|
||||
libltdl7
|
||||
liblttng-ust-ctl4
|
||||
liblttng-ust0
|
||||
liblua5.2-0
|
||||
liblvm2cmd2.03
|
||||
liblwp-mediatypes-perl
|
||||
liblwp-protocol-https-perl
|
||||
liblz4-1
|
||||
liblzma-dev
|
||||
liblzma5
|
||||
liblzo2-2
|
||||
libmagic-dev
|
||||
libmagic-mgc
|
||||
libmagic1
|
||||
libmagickcore-6-arch-config
|
||||
libmagickcore-6-headers
|
||||
libmagickcore-6.q16-6
|
||||
libmagickcore-6.q16-6-extra
|
||||
libmagickcore-6.q16-dev
|
||||
libmagickcore-dev
|
||||
libmagickwand-6-headers
|
||||
libmagickwand-6.q16-6
|
||||
libmagickwand-6.q16-dev
|
||||
libmagickwand-dev
|
||||
libmailtools-perl
|
||||
libmaxminddb0
|
||||
libmcrypt4
|
||||
libmecab2
|
||||
libmediainfo0v5
|
||||
libmemcached11
|
||||
libmms0
|
||||
libmnl0
|
||||
libmono-2.0-1
|
||||
libmono-2.0-dev
|
||||
libmono-accessibility4.0-cil
|
||||
libmono-cairo4.0-cil
|
||||
libmono-cecil-private-cil
|
||||
libmono-cil-dev
|
||||
libmono-codecontracts4.0-cil
|
||||
libmono-compilerservices-symbolwriter4.0-cil
|
||||
libmono-corlib4.5-cil
|
||||
libmono-cscompmgd0.0-cil
|
||||
libmono-csharp4.0c-cil
|
||||
libmono-custommarshalers4.0-cil
|
||||
libmono-data-tds4.0-cil
|
||||
libmono-db2-1.0-cil
|
||||
libmono-debugger-soft4.0a-cil
|
||||
libmono-http4.0-cil
|
||||
libmono-i18n-cjk4.0-cil
|
||||
libmono-i18n-mideast4.0-cil
|
||||
libmono-i18n-other4.0-cil
|
||||
libmono-i18n-rare4.0-cil
|
||||
libmono-i18n-west4.0-cil
|
||||
libmono-i18n4.0-all
|
||||
libmono-i18n4.0-cil
|
||||
libmono-ldap4.0-cil
|
||||
libmono-management4.0-cil
|
||||
libmono-messaging-rabbitmq4.0-cil
|
||||
libmono-messaging4.0-cil
|
||||
libmono-microsoft-build-engine4.0-cil
|
||||
libmono-microsoft-build-framework4.0-cil
|
||||
libmono-microsoft-build-tasks-v4.0-4.0-cil
|
||||
libmono-microsoft-build-utilities-v4.0-4.0-cil
|
||||
libmono-microsoft-build4.0-cil
|
||||
libmono-microsoft-csharp4.0-cil
|
||||
libmono-microsoft-visualc10.0-cil
|
||||
libmono-microsoft-web-infrastructure1.0-cil
|
||||
libmono-oracle4.0-cil
|
||||
libmono-parallel4.0-cil
|
||||
libmono-peapi4.0a-cil
|
||||
libmono-posix4.0-cil
|
||||
libmono-profiler
|
||||
libmono-rabbitmq4.0-cil
|
||||
libmono-relaxng4.0-cil
|
||||
libmono-security4.0-cil
|
||||
libmono-sharpzip4.84-cil
|
||||
libmono-simd4.0-cil
|
||||
libmono-smdiagnostics0.0-cil
|
||||
libmono-sqlite4.0-cil
|
||||
libmono-system-componentmodel-composition4.0-cil
|
||||
libmono-system-componentmodel-dataannotations4.0-cil
|
||||
libmono-system-configuration-install4.0-cil
|
||||
libmono-system-configuration4.0-cil
|
||||
libmono-system-core4.0-cil
|
||||
libmono-system-data-datasetextensions4.0-cil
|
||||
libmono-system-data-entity4.0-cil
|
||||
libmono-system-data-linq4.0-cil
|
||||
libmono-system-data-services-client4.0-cil
|
||||
libmono-system-data-services4.0-cil
|
||||
libmono-system-data4.0-cil
|
||||
libmono-system-deployment4.0-cil
|
||||
libmono-system-design4.0-cil
|
||||
libmono-system-drawing-design4.0-cil
|
||||
libmono-system-drawing4.0-cil
|
||||
libmono-system-dynamic4.0-cil
|
||||
libmono-system-enterpriseservices4.0-cil
|
||||
libmono-system-identitymodel-selectors4.0-cil
|
||||
libmono-system-identitymodel4.0-cil
|
||||
libmono-system-io-compression-filesystem4.0-cil
|
||||
libmono-system-io-compression4.0-cil
|
||||
libmono-system-json-microsoft4.0-cil
|
||||
libmono-system-json4.0-cil
|
||||
libmono-system-ldap-protocols4.0-cil
|
||||
libmono-system-ldap4.0-cil
|
||||
libmono-system-management4.0-cil
|
||||
libmono-system-messaging4.0-cil
|
||||
libmono-system-net-http-formatting4.0-cil
|
||||
libmono-system-net-http-webrequest4.0-cil
|
||||
libmono-system-net-http4.0-cil
|
||||
libmono-system-net4.0-cil
|
||||
libmono-system-numerics-vectors4.0-cil
|
||||
libmono-system-numerics4.0-cil
|
||||
libmono-system-reactive-core2.2-cil
|
||||
libmono-system-reactive-debugger2.2-cil
|
||||
libmono-system-reactive-experimental2.2-cil
|
||||
libmono-system-reactive-interfaces2.2-cil
|
||||
libmono-system-reactive-linq2.2-cil
|
||||
libmono-system-reactive-observable-aliases0.0-cil
|
||||
libmono-system-reactive-platformservices2.2-cil
|
||||
libmono-system-reactive-providers2.2-cil
|
||||
libmono-system-reactive-runtime-remoting2.2-cil
|
||||
libmono-system-reactive-windows-forms2.2-cil
|
||||
libmono-system-reactive-windows-threading2.2-cil
|
||||
libmono-system-reflection-context4.0-cil
|
||||
libmono-system-runtime-caching4.0-cil
|
||||
libmono-system-runtime-durableinstancing4.0-cil
|
||||
libmono-system-runtime-serialization-formatters-soap4.0-cil
|
||||
libmono-system-runtime-serialization4.0-cil
|
||||
libmono-system-runtime4.0-cil
|
||||
libmono-system-security4.0-cil
|
||||
libmono-system-servicemodel-activation4.0-cil
|
||||
libmono-system-servicemodel-discovery4.0-cil
|
||||
libmono-system-servicemodel-internals0.0-cil
|
||||
libmono-system-servicemodel-routing4.0-cil
|
||||
libmono-system-servicemodel-web4.0-cil
|
||||
libmono-system-servicemodel4.0a-cil
|
||||
libmono-system-serviceprocess4.0-cil
|
||||
libmono-system-threading-tasks-dataflow4.0-cil
|
||||
libmono-system-transactions4.0-cil
|
||||
libmono-system-web-abstractions4.0-cil
|
||||
libmono-system-web-applicationservices4.0-cil
|
||||
libmono-system-web-dynamicdata4.0-cil
|
||||
libmono-system-web-extensions-design4.0-cil
|
||||
libmono-system-web-extensions4.0-cil
|
||||
libmono-system-web-http-selfhost4.0-cil
|
||||
libmono-system-web-http-webhost4.0-cil
|
||||
libmono-system-web-http4.0-cil
|
||||
libmono-system-web-mobile4.0-cil
|
||||
libmono-system-web-mvc3.0-cil
|
||||
libmono-system-web-razor2.0-cil
|
||||
libmono-system-web-regularexpressions4.0-cil
|
||||
libmono-system-web-routing4.0-cil
|
||||
libmono-system-web-services4.0-cil
|
||||
libmono-system-web-webpages-deployment2.0-cil
|
||||
libmono-system-web-webpages-razor2.0-cil
|
||||
libmono-system-web-webpages2.0-cil
|
||||
libmono-system-web4.0-cil
|
||||
libmono-system-windows-forms-datavisualization4.0a-cil
|
||||
libmono-system-windows-forms4.0-cil
|
||||
libmono-system-windows4.0-cil
|
||||
libmono-system-workflow-activities4.0-cil
|
||||
libmono-system-workflow-componentmodel4.0-cil
|
||||
libmono-system-workflow-runtime4.0-cil
|
||||
libmono-system-xaml4.0-cil
|
||||
libmono-system-xml-linq4.0-cil
|
||||
libmono-system-xml-serialization4.0-cil
|
||||
libmono-system-xml4.0-cil
|
||||
libmono-system4.0-cil
|
||||
libmono-tasklets4.0-cil
|
||||
libmono-webbrowser4.0-cil
|
||||
libmono-webmatrix-data4.0-cil
|
||||
libmono-windowsbase4.0-cil
|
||||
libmono-xbuild-tasks4.0-cil
|
||||
libmonoboehm-2.0-1
|
||||
libmonosgen-2.0-1
|
||||
libmonosgen-2.0-dev
|
||||
libmount-dev
|
||||
libmount1
|
||||
libmpc3
|
||||
libmpdec2
|
||||
libmpfr6
|
||||
libmspack0
|
||||
libmysqlclient-dev
|
||||
libmysqlclient21
|
||||
libncurses-dev
|
||||
libncurses5
|
||||
libncurses6
|
||||
libncursesw5
|
||||
libncursesw6
|
||||
libnet-dbus-perl
|
||||
libnet-http-perl
|
||||
libnet-smtp-ssl-perl
|
||||
libnet-ssleay-perl
|
||||
libnet1
|
||||
libnetfilter-conntrack3
|
||||
libnetplan0
|
||||
libnettle7
|
||||
libnewt0.52
|
||||
libnfnetlink0
|
||||
libnftnl11
|
||||
libnghttp2-14
|
||||
libnginx-mod-http-image-filter
|
||||
libnginx-mod-http-xslt-filter
|
||||
libnginx-mod-mail
|
||||
libnginx-mod-stream
|
||||
libnl-3-200
|
||||
libnorm1
|
||||
libnotify4
|
||||
libnpth0
|
||||
libnspr4
|
||||
libnss-systemd
|
||||
libnss3
|
||||
libntfs-3g883
|
||||
libnuma1
|
||||
libobjc-9-dev
|
||||
libobjc4
|
||||
libodbc1
|
||||
libogg0
|
||||
libomp-11-dev
|
||||
libomp5-11
|
||||
libonig5
|
||||
libopenexr-dev
|
||||
libopenexr24
|
||||
libp11-kit0
|
||||
libpackagekit-glib2-18
|
||||
libpam-cap
|
||||
libpam-modules
|
||||
libpam-modules-bin
|
||||
libpam-runtime
|
||||
libpam-systemd
|
||||
libpam0g
|
||||
libpango-1.0-0
|
||||
libpangocairo-1.0-0
|
||||
libpangoft2-1.0-0
|
||||
libpaper-utils
|
||||
libpaper1
|
||||
libparted2
|
||||
libpcap0.8
|
||||
libpci3
|
||||
libpciaccess0
|
||||
libpcre16-3
|
||||
libpcre2-16-0
|
||||
libpcre2-32-0
|
||||
libpcre2-8-0
|
||||
libpcre2-dev
|
||||
libpcre2-posix2
|
||||
libpcre3
|
||||
libpcre3-dev
|
||||
libpcre32-3
|
||||
libpcrecpp0v5
|
||||
libperl5.30
|
||||
libpfm4
|
||||
libpgm-5.2-0
|
||||
libpipeline1
|
||||
libpixman-1-0
|
||||
libpixman-1-dev
|
||||
libplymouth5
|
||||
libpng-dev
|
||||
libpng16-16
|
||||
libpolkit-agent-1-0
|
||||
libpolkit-gobject-1-0
|
||||
libpopt0
|
||||
libpq-dev
|
||||
libpq5
|
||||
libprocps8
|
||||
libprotobuf-c1
|
||||
libprotobuf17
|
||||
libproxy1v5
|
||||
libpsl5
|
||||
libpthread-stubs0-dev
|
||||
libpython2-stdlib
|
||||
libpython2.7-minimal
|
||||
libpython2.7-stdlib
|
||||
libpython3-dev
|
||||
libpython3-stdlib
|
||||
libpython3.8
|
||||
libpython3.8-dev
|
||||
libpython3.8-minimal
|
||||
libpython3.8-stdlib
|
||||
libqdbm14
|
||||
libquadmath0
|
||||
librabbitmq4
|
||||
libre2-5
|
||||
libreadline-dev
|
||||
libreadline5
|
||||
libreadline8
|
||||
librest-0.7-0
|
||||
libroken18-heimdal
|
||||
librpm8
|
||||
librpmbuild8
|
||||
librpmio8
|
||||
librpmsign8
|
||||
librsvg2-2
|
||||
librsvg2-common
|
||||
librsvg2-dev
|
||||
librtmp1
|
||||
libruby2.7
|
||||
libsasl2-2
|
||||
libsasl2-modules
|
||||
libsasl2-modules-db
|
||||
libsctp1
|
||||
libseccomp2
|
||||
libsecret-1-0
|
||||
libsecret-1-dev
|
||||
libsecret-common
|
||||
libselinux1
|
||||
libselinux1-dev
|
||||
libsemanage-common
|
||||
libsemanage1
|
||||
libsensors-config
|
||||
libsensors5
|
||||
libsepol1
|
||||
libsepol1-dev
|
||||
libserf-1-1
|
||||
libsgutils2-2
|
||||
libsigsegv2
|
||||
libslang2
|
||||
libsm-dev
|
||||
libsm6
|
||||
libsmartcols1
|
||||
libsmbios-c2
|
||||
libsnmp-base
|
||||
libsnmp35
|
||||
libsodium23
|
||||
libsoup-gnome2.4-1
|
||||
libsoup2.4-1
|
||||
libsqlite3-0
|
||||
libsqlite3-dev
|
||||
libss2
|
||||
libssh-4
|
||||
libssh2-1
|
||||
libssl-dev
|
||||
libssl1.1
|
||||
libstdc++-10-dev
|
||||
libstdc++-9-dev
|
||||
libstdc++6
|
||||
libstemmer0d
|
||||
libsvn1
|
||||
libsybdb5
|
||||
libsystemd0
|
||||
libtalloc2
|
||||
libtasn1-6
|
||||
libtbb2
|
||||
libtcl8.6
|
||||
libtdb1
|
||||
libtevent0
|
||||
libtext-charwidth-perl
|
||||
libtext-iconv-perl
|
||||
libtext-unidecode-perl
|
||||
libtext-wrapi18n-perl
|
||||
libthai-data
|
||||
libthai0
|
||||
libtidy5deb1
|
||||
libtie-ixhash-perl
|
||||
libtiff-dev
|
||||
libtiff5
|
||||
libtiffxx5
|
||||
libtimedate-perl
|
||||
libtinfo-dev
|
||||
libtinfo5
|
||||
libtinfo6
|
||||
libtinyxml2-6a
|
||||
libtk8.6
|
||||
libtommath1
|
||||
libtool
|
||||
libtry-tiny-perl
|
||||
libtsan0
|
||||
libtss2-esys0
|
||||
libtypes-serialiser-perl
|
||||
libu2f-udev
|
||||
libubsan1
|
||||
libuchardet0
|
||||
libucl1
|
||||
libudev1
|
||||
libunistring2
|
||||
libunwind8
|
||||
liburcu6
|
||||
liburi-perl
|
||||
libusb-1.0-0
|
||||
libutempter0
|
||||
libutf8proc2
|
||||
libuuid1
|
||||
libuv1
|
||||
libvorbis0a
|
||||
libvorbisfile3
|
||||
libvpx6
|
||||
libvulkan1
|
||||
libwayland-client0
|
||||
libwayland-cursor0
|
||||
libwayland-egl1
|
||||
libwayland-server0
|
||||
libwbclient0
|
||||
libwebp6
|
||||
libwebpmux3
|
||||
libwind0-heimdal
|
||||
libwmf-dev
|
||||
libwmf0.2-7
|
||||
libwrap0
|
||||
libwww-perl
|
||||
libwww-robotrules-perl
|
||||
libwxbase3.0-0v5
|
||||
libwxgtk3.0-gtk3-0v5
|
||||
libx11-6
|
||||
libx11-data
|
||||
libx11-dev
|
||||
libx11-protocol-perl
|
||||
libx11-xcb1
|
||||
libxau-dev
|
||||
libxau6
|
||||
libxaw7
|
||||
libxcb-dri2-0
|
||||
libxcb-dri3-0
|
||||
libxcb-glx0
|
||||
libxcb-present0
|
||||
libxcb-render0
|
||||
libxcb-render0-dev
|
||||
libxcb-shape0
|
||||
libxcb-shm0
|
||||
libxcb-shm0-dev
|
||||
libxcb-sync1
|
||||
libxcb-xfixes0
|
||||
libxcb1
|
||||
libxcb1-dev
|
||||
libxcomposite1
|
||||
libxcursor1
|
||||
libxdamage1
|
||||
libxdmcp-dev
|
||||
libxdmcp6
|
||||
libxext-dev
|
||||
libxext6
|
||||
libxfixes3
|
||||
libxfont2
|
||||
libxft-dev
|
||||
libxft2
|
||||
libxi6
|
||||
libxinerama1
|
||||
libxkbcommon0
|
||||
libxkbfile-dev
|
||||
libxkbfile1
|
||||
libxml-libxml-perl
|
||||
libxml-namespacesupport-perl
|
||||
libxml-parser-perl
|
||||
libxml-sax-base-perl
|
||||
libxml-sax-perl
|
||||
libxml-twig-perl
|
||||
libxml-xpathengine-perl
|
||||
libxml2
|
||||
libxml2-dev
|
||||
libxmlb1
|
||||
libxmlrpc-epi0
|
||||
libxmlsec1
|
||||
libxmlsec1-openssl
|
||||
libxmu6
|
||||
libxmuu1
|
||||
libxpm4
|
||||
libxrandr2
|
||||
libxrender-dev
|
||||
libxrender1
|
||||
libxshmfence1
|
||||
libxslt1.1
|
||||
libxss1
|
||||
libxt-dev
|
||||
libxt6
|
||||
libxtables12
|
||||
libxtst6
|
||||
libxv1
|
||||
libxxf86dga1
|
||||
libxxf86vm1
|
||||
libyajl2
|
||||
libyaml-0-2
|
||||
libz3-4
|
||||
libz3-dev
|
||||
libzen0v5
|
||||
libzip4
|
||||
libzmq5
|
||||
libzstd1
|
||||
python3-launchpadlib
|
||||
python3-oauthlib
|
||||
python3-wadllib
|
||||
@@ -1,25 +1,27 @@
|
||||
lib32gcc1
|
||||
lib32stdc++6
|
||||
lib32z1
|
||||
libaccountsservice0
|
||||
libacl1
|
||||
libaio1
|
||||
libapparmor-perl
|
||||
libapparmor1
|
||||
libappindicator3-1
|
||||
libapr1
|
||||
libaprutil1
|
||||
libaprutil1-dbd-sqlite3
|
||||
libaprutil1-ldap
|
||||
libapt-inst2.0
|
||||
libapt-pkg5.0
|
||||
libarchive13
|
||||
libargon2-0
|
||||
libargon2-1
|
||||
libasan2
|
||||
libasan4
|
||||
libasan5
|
||||
libasn1-8-heimdal
|
||||
libasound2
|
||||
libasound2-data
|
||||
libaspell15
|
||||
libasprintf0v5
|
||||
libassuan0
|
||||
libatk-bridge2.0-0
|
||||
libatk1.0-0
|
||||
libatk1.0-data
|
||||
@@ -34,6 +36,10 @@ libavahi-client3
|
||||
libavahi-common-data
|
||||
libavahi-common3
|
||||
libbind9-140
|
||||
libbison-dev
|
||||
libblas-common
|
||||
libblas-dev
|
||||
libblas3
|
||||
libblkid1
|
||||
libboost-filesystem1.58.0
|
||||
libboost-system1.58.0
|
||||
@@ -41,6 +47,11 @@ libbsd0
|
||||
libburn4
|
||||
libbz2-1.0
|
||||
libbz2-dev
|
||||
libc++-dev
|
||||
libc++-helpers
|
||||
libc++1
|
||||
libc++abi-dev
|
||||
libc++abi1
|
||||
libc-ares2
|
||||
libc-bin
|
||||
libc-client2007e
|
||||
@@ -64,19 +75,14 @@ libcgi-pm-perl
|
||||
libcgraph6
|
||||
libcgroup1
|
||||
libcilkrts5
|
||||
libclang-common-6.0-dev
|
||||
libclang-common-8-dev
|
||||
libclang-common-9-dev
|
||||
libclang-cpp9
|
||||
libclang1-6.0
|
||||
libclang1-8
|
||||
libcolord2
|
||||
libcomerr2
|
||||
libcommon-sense-perl
|
||||
libcroco3
|
||||
libcryptsetup4
|
||||
libcups2
|
||||
libcupsfilters1
|
||||
libcupsimage2
|
||||
libcurl3
|
||||
libcurl3-gnutls
|
||||
libdatrie1
|
||||
@@ -131,6 +137,7 @@ libfile-basedir-perl
|
||||
libfile-desktopentry-perl
|
||||
libfile-listing-perl
|
||||
libfile-mimeinfo-perl
|
||||
libfl-dev
|
||||
libfont-afm-perl
|
||||
libfontconfig1
|
||||
libfontconfig1-dev
|
||||
@@ -139,10 +146,10 @@ libfreetype6
|
||||
libfreetype6-dev
|
||||
libfribidi0
|
||||
libfuse2
|
||||
libgbm-dev
|
||||
libgbm1
|
||||
libgc1c2
|
||||
libgcc-5-dev
|
||||
libgcc-7-dev
|
||||
libgcc-8-dev
|
||||
libgcc-9-dev
|
||||
libgcc1
|
||||
libgconf-2-4
|
||||
@@ -155,8 +162,9 @@ libgdk-pixbuf2.0-common
|
||||
libgdk-pixbuf2.0-dev
|
||||
libgeoip1
|
||||
libgflags2v5
|
||||
libgfortran-8-dev
|
||||
libgfortran-5-dev
|
||||
libgfortran-9-dev
|
||||
libgfortran3
|
||||
libgfortran5
|
||||
libgif7
|
||||
libgirepository-1.0-1
|
||||
@@ -181,11 +189,10 @@ libgpg-error0
|
||||
libgpm2
|
||||
libgraphite2-3
|
||||
libgraphviz-dev
|
||||
libgs9
|
||||
libgs9-common
|
||||
libgsl-dev
|
||||
libgsl2
|
||||
libgssapi-krb5-2
|
||||
libgssapi3-heimdal
|
||||
libgssrpc4
|
||||
libgtk-3-0
|
||||
libgtk-3-bin
|
||||
libgtk-3-common
|
||||
@@ -196,6 +203,7 @@ libgvc6
|
||||
libgvc6-plugins-gtk
|
||||
libgvpr2
|
||||
libharfbuzz0b
|
||||
libhavege1
|
||||
libhcrypto4-heimdal
|
||||
libheimbase1-heimdal
|
||||
libheimntlm0-heimdal
|
||||
@@ -219,10 +227,8 @@ libicu-dev
|
||||
libicu55
|
||||
libicu65
|
||||
libidn11
|
||||
libijs-0.35
|
||||
libilmbase-dev
|
||||
libilmbase12
|
||||
libindicator3-7
|
||||
libio-html-perl
|
||||
libio-socket-ssl-perl
|
||||
libipc-system-simple-perl
|
||||
@@ -238,7 +244,6 @@ libjasper-dev
|
||||
libjasper1
|
||||
libjbig-dev
|
||||
libjbig0
|
||||
libjbig2dec0
|
||||
libjpeg-dev
|
||||
libjpeg-turbo8
|
||||
libjpeg-turbo8-dev
|
||||
@@ -248,27 +253,25 @@ libjs-jquery
|
||||
libjson-c2
|
||||
libjson-glib-1.0-0
|
||||
libjson-glib-1.0-common
|
||||
libjsoncpp1
|
||||
libjson-perl
|
||||
libjson-xs-perl
|
||||
libjte1
|
||||
libk5crypto3
|
||||
libkadm5clnt-mit9
|
||||
libkadm5srv-mit9
|
||||
libkdb5-8
|
||||
libkeyutils1
|
||||
libklibc
|
||||
libkmod2
|
||||
libkrb5-26-heimdal
|
||||
libkrb5-3
|
||||
libkrb5support0
|
||||
libksba8
|
||||
liblapack-dev
|
||||
liblapack3
|
||||
liblcms2-2
|
||||
liblcms2-dev
|
||||
libldap-2.4-2
|
||||
libldb1
|
||||
liblldb-6.0
|
||||
liblldb-8
|
||||
liblldb-9
|
||||
libllvm6.0
|
||||
libllvm8
|
||||
libllvm9
|
||||
liblmdb0
|
||||
liblocale-gettext-perl
|
||||
@@ -279,6 +282,7 @@ libltdl-dev
|
||||
libltdl7
|
||||
liblttng-ust-ctl2
|
||||
liblttng-ust0
|
||||
liblua5.1-0
|
||||
liblua5.2-0
|
||||
liblvm2app2.2
|
||||
liblvm2cmd2.02
|
||||
@@ -304,11 +308,13 @@ libmagickwand-6.q16-dev
|
||||
libmagickwand-dev
|
||||
libmailtools-perl
|
||||
libmcrypt4
|
||||
libmediainfo0v5
|
||||
libmemcached11
|
||||
libmirclient9
|
||||
libmircommon7
|
||||
libmircore1
|
||||
libmirprotobuf3
|
||||
libmms0
|
||||
libmnl0
|
||||
libmono-2.0-1
|
||||
libmono-2.0-dev
|
||||
@@ -459,11 +465,11 @@ libmpc3
|
||||
libmpdec2
|
||||
libmpfr4
|
||||
libmpx0
|
||||
libmpx2
|
||||
libmspack0
|
||||
libmysqlclient-dev
|
||||
libmysqlclient20
|
||||
libncurses5
|
||||
libncurses5-dev
|
||||
libncursesw5
|
||||
libnet-dbus-perl
|
||||
libnet-http-perl
|
||||
@@ -477,6 +483,7 @@ libnih-dbus1
|
||||
libnih1
|
||||
libnorm1
|
||||
libnotify4
|
||||
libnpth0
|
||||
libnspr4
|
||||
libnss3
|
||||
libnss3-nssdb
|
||||
@@ -516,7 +523,6 @@ libpcre3
|
||||
libpcre3-dev
|
||||
libpcre32-3
|
||||
libpcrecpp0v5
|
||||
libpcsclite1
|
||||
libperl5.22
|
||||
libpfm4
|
||||
libpgm-5.2-0
|
||||
@@ -552,8 +558,10 @@ libqdbm14
|
||||
libquadmath0
|
||||
librabbitmq4
|
||||
libre2-1v5
|
||||
libreadline-dev
|
||||
libreadline5
|
||||
libreadline6
|
||||
libreadline6-dev
|
||||
librecode0
|
||||
librest-0.7-0
|
||||
libroken18-heimdal
|
||||
@@ -591,16 +599,14 @@ libsodium23
|
||||
libsoup-gnome2.4-1
|
||||
libsoup2.4-1
|
||||
libsqlite3-0
|
||||
libsqlite3-dev
|
||||
libss2
|
||||
libssh2-1
|
||||
libssl-dev
|
||||
libssl-doc
|
||||
libssl1.0.0
|
||||
libssl1.1
|
||||
libstartup-notification0
|
||||
libstdc++-5-dev
|
||||
libstdc++-7-dev
|
||||
libstdc++-8-dev
|
||||
libstdc++-9-dev
|
||||
libstdc++6
|
||||
libstemmer0d
|
||||
@@ -616,6 +622,7 @@ libtdb1
|
||||
libtevent0
|
||||
libtext-charwidth-perl
|
||||
libtext-iconv-perl
|
||||
libtext-unidecode-perl
|
||||
libtext-wrapi18n-perl
|
||||
libthai-data
|
||||
libthai0
|
||||
@@ -627,9 +634,11 @@ libtiffxx5
|
||||
libtimedate-perl
|
||||
libtinfo-dev
|
||||
libtinfo5
|
||||
libtinyxml2-2v5
|
||||
libtk8.6
|
||||
libtool
|
||||
libtsan0
|
||||
libtypes-serialiser-perl
|
||||
libubsan0
|
||||
libubsan1
|
||||
libucl1
|
||||
@@ -645,6 +654,7 @@ libuuid1
|
||||
libvorbis0a
|
||||
libvorbisfile3
|
||||
libvpx3
|
||||
libvulkan1
|
||||
libwayland-client0
|
||||
libwayland-cursor0
|
||||
libwayland-egl1-mesa
|
||||
@@ -676,7 +686,6 @@ libxcb-shape0
|
||||
libxcb-shm0
|
||||
libxcb-shm0-dev
|
||||
libxcb-sync1
|
||||
libxcb-util1
|
||||
libxcb-xfixes0
|
||||
libxcb1
|
||||
libxcb1-dev
|
||||
@@ -697,7 +706,11 @@ libxinerama1
|
||||
libxkbcommon0
|
||||
libxkbfile-dev
|
||||
libxkbfile1
|
||||
libxml-libxml-perl
|
||||
libxml-namespacesupport-perl
|
||||
libxml-parser-perl
|
||||
libxml-sax-base-perl
|
||||
libxml-sax-perl
|
||||
libxml-twig-perl
|
||||
libxml-xpathengine-perl
|
||||
libxml2
|
||||
@@ -723,6 +736,8 @@ libxxf86dga1
|
||||
libxxf86vm1
|
||||
libyaml-0-2
|
||||
libz3-dev
|
||||
libzen0v5
|
||||
libzip4
|
||||
libzmq5
|
||||
libzstd1
|
||||
python3-oauthlib
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
[PHP Modules]
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
hash
|
||||
iconv
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcached
|
||||
mongo
|
||||
mysql
|
||||
mysqli
|
||||
mysqlnd
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_sqlite
|
||||
Phar
|
||||
posix
|
||||
readline
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
SQLite
|
||||
sqlite3
|
||||
standard
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
[PHP Modules]
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
hash
|
||||
iconv
|
||||
imagick
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcached
|
||||
mhash
|
||||
mysql
|
||||
mysqli
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
[PHP Modules]
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
hash
|
||||
iconv
|
||||
imagick
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcached
|
||||
mhash
|
||||
mysql
|
||||
mysqli
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlwriter
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apc
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
ereg
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcache
|
||||
memcached
|
||||
mhash
|
||||
mongodb
|
||||
msgpack
|
||||
mssql
|
||||
mysql
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
mcrypt
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
interbase
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
recode
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
wddx
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
[PHP Modules]
|
||||
amqp
|
||||
apcu
|
||||
bcmath
|
||||
bz2
|
||||
calendar
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dba
|
||||
dom
|
||||
enchant
|
||||
exif
|
||||
FFI
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
gettext
|
||||
gmp
|
||||
hash
|
||||
iconv
|
||||
igbinary
|
||||
imap
|
||||
intl
|
||||
json
|
||||
ldap
|
||||
libxml
|
||||
mbstring
|
||||
memcache
|
||||
memcached
|
||||
mongodb
|
||||
msgpack
|
||||
mysqli
|
||||
mysqlnd
|
||||
odbc
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_dblib
|
||||
PDO_Firebird
|
||||
pdo_mysql
|
||||
PDO_ODBC
|
||||
pdo_pgsql
|
||||
pdo_sqlite
|
||||
pgsql
|
||||
Phar
|
||||
posix
|
||||
pspell
|
||||
readline
|
||||
redis
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
snmp
|
||||
soap
|
||||
sockets
|
||||
sodium
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvmsg
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xdebug
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
yaml
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
zmq
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Xdebug
|
||||
Zend OPcache
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
[PHP Modules]
|
||||
bcmath
|
||||
bz2
|
||||
Core
|
||||
ctype
|
||||
curl
|
||||
date
|
||||
dom
|
||||
exif
|
||||
fileinfo
|
||||
filter
|
||||
ftp
|
||||
gd
|
||||
hash
|
||||
iconv
|
||||
intl
|
||||
json
|
||||
libxml
|
||||
mbstring
|
||||
mysqli
|
||||
mysqlnd
|
||||
openssl
|
||||
pcntl
|
||||
pcre
|
||||
PDO
|
||||
pdo_mysql
|
||||
pdo_sqlite
|
||||
Phar
|
||||
posix
|
||||
readline
|
||||
Reflection
|
||||
session
|
||||
shmop
|
||||
SimpleXML
|
||||
soap
|
||||
sockets
|
||||
SPL
|
||||
sqlite3
|
||||
standard
|
||||
sysvsem
|
||||
sysvshm
|
||||
tidy
|
||||
tokenizer
|
||||
xml
|
||||
xmlreader
|
||||
xmlrpc
|
||||
xmlwriter
|
||||
xsl
|
||||
Zend OPcache
|
||||
zip
|
||||
zlib
|
||||
phalcon3
|
||||
phalcon4
|
||||
blackfire
|
||||
|
||||
[Zend Modules]
|
||||
Zend OPcache
|
||||
|
||||
125
src/scripts/cache.sh
Normal file
125
src/scripts/cache.sh
Normal file
@@ -0,0 +1,125 @@
|
||||
step_log() {
|
||||
message=$1
|
||||
printf "\n\033[90;1m==> \033[0m\033[37;1m%s\033[0m\n" "$message"
|
||||
}
|
||||
|
||||
add_log() {
|
||||
mark=$1
|
||||
shift
|
||||
subjects=("$@")
|
||||
for subject in "${subjects[@]}"; do
|
||||
if [ "$mark" = "$tick" ]; then
|
||||
printf "\033[32;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s\033[0m\n" "$mark" "$subject" "Added $subject"
|
||||
else
|
||||
printf "\033[31;1m%s \033[0m\033[34;1m%s \033[0m\033[90;1m%s\033[0m\n" "$mark" "$subject" "Failed to setup $subject"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
get_api_version_from_repo() {
|
||||
php_header="https://raw.githubusercontent.com/php/php-src/PHP-$version/main/php.h"
|
||||
status_code=$(curl -sSL -o /tmp/php.h -w "%{http_code}" "$php_header")
|
||||
if [ "$status_code" != "200" ]; then
|
||||
curl -sSL --retry 5 "${php_header/PHP-$version/master}" | grep "PHP_API_VERSION" | cut -d' ' -f 3
|
||||
else
|
||||
grep "PHP_API_VERSION" /tmp/php.h | cut -d' ' -f 3
|
||||
fi
|
||||
}
|
||||
|
||||
get_api_version() {
|
||||
case $version in
|
||||
5.3) echo "20090626" ;;
|
||||
5.4) echo "20100525" ;;
|
||||
5.5) echo "20121212" ;;
|
||||
5.6) echo "20131226" ;;
|
||||
7.0) echo "20151012" ;;
|
||||
7.1) echo "20160303" ;;
|
||||
7.2) echo "20170718" ;;
|
||||
7.3) echo "20180731" ;;
|
||||
7.4) echo "20190902" ;;
|
||||
8.0) echo "20200930" ;;
|
||||
*) get_api_version_from_repo ;;
|
||||
esac
|
||||
}
|
||||
|
||||
fix_ownership() {
|
||||
dir=$1
|
||||
sudo chown -R "$USER":"$(id -g -n)" "$(dirname "$dir")"
|
||||
}
|
||||
|
||||
add_config() {
|
||||
dependent_extension=$1
|
||||
dependency_extension=$2
|
||||
echo "$dependency_extension" | sudo tee "${ext_config_directory:?}/$dependent_extension/$dependency_extension" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
extension_dir_darwin() {
|
||||
api_version=$1
|
||||
if [[ "${version:?}" =~ ${old_versions:?} ]]; then
|
||||
echo "/opt/local/lib/php${version/./}/extensions/no-debug-non-zts-$api_version"
|
||||
else
|
||||
if [[ "$(sysctl -n hw.optional.arm64 2>/dev/null)" == "1" ]]; then
|
||||
echo "/opt/homebrew/lib/php/pecl/$api_version"
|
||||
else
|
||||
echo "/usr/local/lib/php/pecl/$api_version"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
extension_dir_linux() {
|
||||
api_version=$1
|
||||
if [[ "${version:?}" =~ ${old_versions:?}|${nightly_versions:?} ]]; then
|
||||
echo "/usr/local/php/$version/lib/php/extensions/no-debug-non-zts-$api_version"
|
||||
else
|
||||
echo "/usr/lib/php/$api_version"
|
||||
fi
|
||||
}
|
||||
|
||||
data() {
|
||||
old_versions="5.[3-5]"
|
||||
nightly_versions="8.[1-9]"
|
||||
date='20210703'
|
||||
if [ "$os" = "Linux" ]; then
|
||||
. /etc/lsb-release
|
||||
os=$os-$DISTRIB_CODENAME
|
||||
api_version=$(get_api_version)
|
||||
dir=$(extension_dir_linux "$api_version")
|
||||
sudo mkdir -p "$dir/deps" && fix_ownership "$dir"
|
||||
elif [ "$os" = "Darwin" ]; then
|
||||
api_version=$(get_api_version)
|
||||
dir=$(extension_dir_darwin "$api_version")
|
||||
sudo mkdir -p "$dir/deps" && fix_ownership "$dir"
|
||||
date='20210707'
|
||||
else
|
||||
os="Windows"
|
||||
dir='C:\\tools\\php\\ext'
|
||||
[[ "$extensions" == *"imagick"* ]] && date='20210512'
|
||||
fi
|
||||
key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2)
|
||||
key="$key-$date"
|
||||
echo "$dir" > "${RUNNER_TEMP:?}"/dir
|
||||
echo "$key" > "${RUNNER_TEMP:?}"/key
|
||||
echo "::set-output name=dir::$dir"
|
||||
echo "::set-output name=key::$key"
|
||||
}
|
||||
|
||||
dependencies() {
|
||||
if [ "$os" = "Linux" ] || [ "$os" = "Darwin" ]; then
|
||||
export tick="✓"
|
||||
export cross="✗"
|
||||
export ext_config_directory="/tmp/extcache"
|
||||
export deps_cache_directory="${RUNNER_TOOL_CACHE}"/deps
|
||||
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)
|
||||
# shellcheck disable=SC1090
|
||||
. "$script_dir/$(echo "$os" | tr '[:upper:]' '[:lower:]').sh"
|
||||
setup_dependencies "$extensions" "$(cat "${RUNNER_TEMP:?}"/dir)"
|
||||
fi
|
||||
}
|
||||
|
||||
run=$1
|
||||
extensions=$2
|
||||
version=$3
|
||||
key=$4
|
||||
os=$(uname -s)
|
||||
|
||||
$run
|
||||
171
src/scripts/darwin.sh
Normal file
171
src/scripts/darwin.sh
Normal file
@@ -0,0 +1,171 @@
|
||||
fetch_brew_tap() {
|
||||
tap=$1
|
||||
tap_user=$(dirname "$tap")
|
||||
tap_name=$(basename "$tap")
|
||||
mkdir -p "$tap_dir/$tap_user"
|
||||
curl -sL "https://github.com/$tap/archive/master.tar.gz" | sudo tar -xzf - -C "$tap_dir/$tap_user"
|
||||
if [ -d "$tap_dir/$tap_user/$tap_name-master" ]; then
|
||||
sudo mv "$tap_dir/$tap_user/$tap_name-master" "$tap_dir/$tap_user/$tap_name"
|
||||
fi
|
||||
}
|
||||
|
||||
add_brew_tap() {
|
||||
tap=$1
|
||||
if ! [ -d "$tap_dir/$tap" ]; then
|
||||
if [ "${ImageOS:=}-${ImageVersion:=}" = "-" ]; then
|
||||
brew tap --shallow "$tap" >/dev/null 2>&1
|
||||
else
|
||||
fetch_brew_tap "$tap" >/dev/null 2>&1
|
||||
if ! [ -d "$tap_dir/$tap" ]; then
|
||||
brew tap --shallow "$tap" >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
filter_extensions() {
|
||||
extensions_array=("$@")
|
||||
filtered_extensions=()
|
||||
for ext in "${extensions_array[@]}"; do
|
||||
if grep -i -q -w "$ext" "${script_dir:?}"/../lists/darwin-extensions; then
|
||||
filtered_extensions+=("$ext")
|
||||
fi
|
||||
done
|
||||
echo "${filtered_extensions[@]}"
|
||||
}
|
||||
|
||||
setup_extensions_helper() {
|
||||
dependent_extension=$1
|
||||
dependency_extension=$2
|
||||
extension_dir=$3
|
||||
cached_extension="${deps_cache_directory:?}/$dependency_extension.so"
|
||||
if ! [ -e "$cached_extension" ]; then
|
||||
brew install "$dependency_extension@${version:?}"
|
||||
sudo find "$brew_cellar/$dependency_extension@${version:?}" -name "$dependency_extension.so" -exec cp {} "$cached_extension" \;
|
||||
else
|
||||
echo "Found $dependency_extension extension in cache"
|
||||
sudo cp "$cached_extension" "$extension_dir/"
|
||||
fi
|
||||
add_config "$dependent_extension" "$dependency_extension"
|
||||
}
|
||||
|
||||
setup_extensions() {
|
||||
dependent_extension=$1
|
||||
extension_dir=$2
|
||||
shift 2
|
||||
dependency_extensions_array=("$@")
|
||||
sudo mkdir -p "$cache_directory"/"$extension"
|
||||
echo "::group::Logs to set up extensions required for $extension"
|
||||
for dependency_extension in "${dependency_extensions_array[@]}"; do
|
||||
setup_extensions_helper "$dependent_extension" "$dependency_extension" "$extension_dir"
|
||||
done
|
||||
echo "::endgroup::"
|
||||
add_log "${tick:?}" "${dependency_extensions_array[@]}"
|
||||
}
|
||||
|
||||
add_library_helper() {
|
||||
dep_name=$1
|
||||
cache_dir=$2
|
||||
sudo cp -R "$brew_cellar/$dep_name" "$cache_dir/"
|
||||
sudo chmod -R 777 "$cache_dir/$dep_name"
|
||||
echo "$dep_name" | sudo tee -a "$cache_dir"/list >/dev/null 2>&1
|
||||
(
|
||||
cd "$cache_dir" || exit 1
|
||||
if command -v gtar >/dev/null; then
|
||||
sudo gtar -I "zstd -T0" -cf "$cache_dir"/"$dep_name".tar.zst "$dep_name"
|
||||
else
|
||||
sudo tar -cf - "$dep_name" | zstd -T0 > "$cache_dir"/"$dep_name".tar.zst
|
||||
fi
|
||||
)
|
||||
}
|
||||
|
||||
add_library() {
|
||||
lib=$1
|
||||
cache_dir=$2
|
||||
brew list "$lib" &>/dev/null || brew install "$lib"
|
||||
IFS=' ' read -r -a deps_array <<<"$(brew deps "$lib" | tr '\n' ' ')"
|
||||
to_wait=()
|
||||
for dep_name in "$lib" "${deps_array[@]}"; do
|
||||
add_library_helper "$dep_name" "$cache_dir" &
|
||||
to_wait+=($!)
|
||||
done
|
||||
wait "${to_wait[@]}"
|
||||
sudo rm -R -- "${cache_dir:?}"/*/
|
||||
}
|
||||
|
||||
restore_library_helper() {
|
||||
dep_name=$1
|
||||
cache_dir=$2
|
||||
if command -v gtar >/dev/null; then
|
||||
sudo gtar -I "zstd -d" -xf "$cache_dir"/"$dep_name".tar.zst -C "$brew_cellar"
|
||||
else
|
||||
sudo zstd -dq "$cache_dir"/"$dep_name".tar.zst && sudo tar -xf "$cache_dir"/"$dep_name".tar -C "$brew_cellar"
|
||||
fi
|
||||
if ! [ -d "$brew_prefix/opt/$dep_name" ]; then
|
||||
brew link --force --overwrite "$dep_name" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
restore_library() {
|
||||
cache_dir=$1
|
||||
to_wait=()
|
||||
while read -r dep_name; do
|
||||
restore_library_helper "$dep_name" "$cache_dir" &
|
||||
to_wait+=($!)
|
||||
done <"$cache_dir"/list
|
||||
wait "${to_wait[@]}"
|
||||
}
|
||||
|
||||
setup_libraries() {
|
||||
extension=$1
|
||||
shift 1
|
||||
libraries_array=("$@")
|
||||
ext_deps_dir="$deps_cache_directory/$extension"
|
||||
sudo cp -a "$tap_dir"/shivammathur/homebrew-extensions/.github/deps/"$extension"/*.rb "$tap_dir"/homebrew/homebrew-core/Formula/
|
||||
sudo mkdir -p "$ext_deps_dir"
|
||||
echo "::group::Logs to set up libraries required for $extension"
|
||||
for lib in "${libraries_array[@]}"; do
|
||||
if ! [ -e "$ext_deps_dir"/list ]; then
|
||||
add_library "$lib" "$ext_deps_dir"
|
||||
else
|
||||
restore_library "$ext_deps_dir"
|
||||
fi
|
||||
done
|
||||
echo "::endgroup::"
|
||||
add_log "$tick" "${libraries_array[@]}"
|
||||
}
|
||||
|
||||
setup_dependencies() {
|
||||
extensions=$1
|
||||
extension_dir=$2
|
||||
cache_directory=/tmp/extcache
|
||||
[[ -z "${extensions// /}" ]] && return
|
||||
IFS=' ' read -r -a extensions_array <<<"$(echo "$extensions" | sed -e "s/pdo[_-]//g" -Ee "s/^|,\s*/ /g")"
|
||||
IFS=' ' read -r -a extensions_array <<<"$(filter_extensions "${extensions_array[@]}")"
|
||||
if [[ -n "${extensions_array[*]// /}" ]]; then
|
||||
add_brew_tap "shivammathur/homebrew-php"
|
||||
add_brew_tap "shivammathur/homebrew-extensions"
|
||||
for extension in "${extensions_array[@]}"; do
|
||||
IFS=' ' read -r -a dependency_array <<<"$(grep "depends_on" "$tap_dir/shivammathur/homebrew-extensions/Formula/$extension@$version.rb" | cut -d '"' -f 2 | tr '\n' ' ')"
|
||||
IFS=' ' read -r -a extension_array <<<"$(echo "${dependency_array[@]}" | grep -Eo "[a-z]*@" | sed 's/@//' | tr '\n' ' ')"
|
||||
IFS=' ' read -r -a libraries_array <<<"${dependency_array[@]//shivammathur*/}"
|
||||
if [[ -n "${libraries_array[*]// /}" ]]; then
|
||||
step_log "Setup libraries for $extension"
|
||||
setup_libraries "$extension" "${libraries_array[@]}"
|
||||
fi
|
||||
if [[ -n "${extension_array[*]// /}" ]]; then
|
||||
step_log "Setup extensions for $extension"
|
||||
setup_extensions "$extension" "$extension_dir" "${extension_array[@]}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
export HOMEBREW_CHANGE_ARCH_TO_ARM=1
|
||||
export HOMEBREW_NO_INSTALL_CLEANUP=1
|
||||
export HOMEBREW_NO_AUTO_UPDATE=1
|
||||
export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
|
||||
|
||||
brew_prefix="$(brew --prefix)"
|
||||
brew_cellar="$brew_prefix/Cellar"
|
||||
tap_dir="$(brew --repository)"/Library/Taps
|
||||
107
src/scripts/linux.sh
Normal file
107
src/scripts/linux.sh
Normal file
@@ -0,0 +1,107 @@
|
||||
link_apt_fast() {
|
||||
if ! command -v apt-fast >/dev/null; then
|
||||
sudo ln -sf /usr/bin/apt-get /usr/bin/apt-fast
|
||||
fi
|
||||
}
|
||||
|
||||
fetch_package() {
|
||||
if ! [ -e /tmp/Packages ]; then
|
||||
. /etc/lsb-release
|
||||
deb_build_arch=$(dpkg-architecture -q DEB_BUILD_ARCH)
|
||||
curl -o /tmp/Packages.gz -sL "http://ppa.launchpad.net/ondrej/php/ubuntu/dists/$DISTRIB_CODENAME/main/binary-$deb_build_arch/Packages.gz"
|
||||
gzip -df /tmp/Packages.gz
|
||||
fi
|
||||
}
|
||||
|
||||
get_dependencies() {
|
||||
package=$1
|
||||
prefix=$2
|
||||
sed -e '/Package:\s'"$package$"'/,/^\s*$/!d' /tmp/Packages | grep -Eo "^Depends.*" | tr ',' '\n' | awk -v ORS='' '/^\s'"$prefix"'/{print$0}' | sed -e 's/([^()]*)//g' | sort | uniq | xargs echo -n
|
||||
}
|
||||
|
||||
get_package_link() {
|
||||
package=$1
|
||||
trunk="http://ppa.launchpad.net/ondrej/php/ubuntu"
|
||||
file=$(sed -e '/Package:\s'"$package$"'/,/^\s*$/!d' /tmp/Packages | grep -Eo "^Filename.*" | cut -d' ' -f 2 | tr -d '\r')
|
||||
echo "$trunk/$file"
|
||||
}
|
||||
|
||||
setup_extensions_helper() {
|
||||
dependency_extension=$1
|
||||
extension_dir=$2
|
||||
cached_extension="${deps_cache_directory:?}/$dependency_extension.so"
|
||||
if ! [ -e "$extension_dir/$dependency_extension.so" ]; then
|
||||
if ! [ -e "$cached_extension" ]; then
|
||||
extension_package_link="$(get_package_link "php${version:?}-$dependency_extension")"
|
||||
sudo curl -H "User-Agent: Debian APT-HTTP/GHA(ce)" -o "/tmp/$dependency_extension".deb -sL "$extension_package_link"
|
||||
sudo dpkg-deb -x "/tmp/$dependency_extension".deb /
|
||||
sudo cp "$extension_dir/$dependency_extension.so" "$cached_extension"
|
||||
fix_ownership "$extension_dir"
|
||||
else
|
||||
sudo cp "$cached_extension" "$extension_dir/"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
setup_extensions() {
|
||||
extension_dir=$1
|
||||
IFS=' ' read -r -a dependency_extension_array <<<"$(echo "$2" | xargs -n1 | sort | uniq | xargs)"
|
||||
to_wait=()
|
||||
for dependency_extension in "${dependency_extension_array[@]}"; do
|
||||
setup_extensions_helper "$dependency_extension" "$extension_dir" &
|
||||
to_wait+=($!)
|
||||
done
|
||||
wait "${to_wait[@]}"
|
||||
add_log "${tick:?}" "${dependency_extension_array[@]}"
|
||||
}
|
||||
|
||||
filter_libraries() {
|
||||
libraries="$(echo "$1" | xargs -n1 | sort | uniq | xargs)"
|
||||
for library in $libraries; do
|
||||
if grep -i -q -w "$library" "${script_dir:?}"/../lists/"$DISTRIB_CODENAME"-libs; then
|
||||
libraries=${libraries//$library/}
|
||||
fi
|
||||
done
|
||||
echo "$libraries"
|
||||
}
|
||||
|
||||
setup_libraries() {
|
||||
libraries=$1
|
||||
if [[ -n "${libraries// /}" ]]; then
|
||||
libraries=$(filter_libraries "$libraries")
|
||||
if [[ -n "${libraries// /}" ]]; then
|
||||
step_log "Setup libraries"
|
||||
IFS=' ' read -r -a libraries_array <<<"$libraries"
|
||||
link_apt_fast
|
||||
echo "::group::Logs to set up required libraries"
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-fast install --no-install-recommends --no-upgrade -y "${libraries_array[@]}"
|
||||
ec="$?"
|
||||
echo "::endgroup::"
|
||||
if [ "$ec" -eq "0" ]; then mark="${tick:?}"; else mark="${cross:?}"; fi
|
||||
add_log "$mark" "${libraries_array[@]}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
setup_dependencies() {
|
||||
extensions=$1
|
||||
extension_dir=$2
|
||||
[[ -z "${extensions// }" ]] && return
|
||||
IFS=' ' read -r -a extensions_array <<<"$(echo "$extensions" | sed -e "s/pdo[_-]//g" -Ee "s/^|,\s*/ php$version-/g")"
|
||||
. /etc/lsb-release
|
||||
sudo rm -rf "${ext_config_directory:?}" || true
|
||||
libraries=""
|
||||
extension_packages=""
|
||||
for extension_package in "${extensions_array[@]}"; do
|
||||
fetch_package
|
||||
libraries="$libraries $(get_dependencies "$extension_package" "lib")"
|
||||
extension_packages="$extension_packages $(get_dependencies "$extension_package" "php$version-")"
|
||||
extension_packages="${extension_packages//php$version-common/}"
|
||||
done
|
||||
if [[ -n "${libraries// /}" ]]; then
|
||||
setup_libraries "$libraries"
|
||||
fi
|
||||
if [[ -n "${extension_packages// /}" ]]; then
|
||||
setup_extensions "$extension_dir" "${extension_packages//php$version-/}"
|
||||
fi
|
||||
}
|
||||
91
src/utils.ts
91
src/utils.ts
@@ -1,6 +1,22 @@
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import * as core from '@actions/core';
|
||||
|
||||
/**
|
||||
* Function to read environment variable and return a string value.
|
||||
*
|
||||
* @param property
|
||||
*/
|
||||
export async function readEnv(property: string): Promise<string> {
|
||||
const value = process.env[property];
|
||||
switch (value) {
|
||||
case undefined:
|
||||
return '';
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get inputs from both with and env annotations.
|
||||
*
|
||||
@@ -11,12 +27,75 @@ export async function getInput(
|
||||
name: string,
|
||||
mandatory: boolean
|
||||
): Promise<string> {
|
||||
const input = process.env[name];
|
||||
switch (input) {
|
||||
case '':
|
||||
case undefined:
|
||||
return core.getInput(name, {required: mandatory});
|
||||
default:
|
||||
const input = core.getInput(name);
|
||||
const env_input = await readEnv(name);
|
||||
switch (true) {
|
||||
case input != '':
|
||||
return input;
|
||||
case input == '' && env_input != '':
|
||||
return env_input;
|
||||
case input == '' && env_input == '' && mandatory:
|
||||
throw new Error(`Input required and not supplied: ${name}`);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get outputs
|
||||
*/
|
||||
export async function getOutput(output: string): Promise<string> {
|
||||
return fs.readFileSync(
|
||||
path.join(await readEnv('RUNNER_TEMP'), output),
|
||||
'utf8'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to parse PHP version.
|
||||
*
|
||||
* @param version
|
||||
*/
|
||||
export async function parseVersion(version: string): Promise<string> {
|
||||
switch (version) {
|
||||
case 'latest':
|
||||
return '7.4';
|
||||
default:
|
||||
switch (true) {
|
||||
case version.length > 1:
|
||||
return version.slice(0, 3);
|
||||
default:
|
||||
return version + '.0';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to filter extensions
|
||||
*
|
||||
* @param extension_csv
|
||||
*/
|
||||
export async function filterExtensions(extension_csv: string): Promise<string> {
|
||||
return JSON.stringify(
|
||||
extension_csv
|
||||
.split(',')
|
||||
.filter(extension => {
|
||||
return extension.trim()[0] != ':';
|
||||
})
|
||||
.join(',')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to get script call
|
||||
*
|
||||
* @param fn
|
||||
* @param args
|
||||
*/
|
||||
export async function scriptCall(
|
||||
fn: string,
|
||||
...args: string[]
|
||||
): Promise<string> {
|
||||
const script: string = path.join(__dirname, '../src/scripts/cache.sh');
|
||||
return ['bash', script, fn, ...args].join(' ');
|
||||
}
|
||||
|
||||
@@ -1,63 +1,18 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
/* Basic Options */
|
||||
// "incremental": true, /* Enable incremental compilation */
|
||||
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||
// "allowJs": true, /* Allow javascript files to be compiled. */
|
||||
// "checkJs": true, /* Report errors in .js files. */
|
||||
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
|
||||
// "declaration": true, /* Generates corresponding '.d.ts' file. */
|
||||
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||
// "sourceMap": true, /* Generates corresponding '.map' file. */
|
||||
// "outFile": "./", /* Concatenate and emit output to single file. */
|
||||
"outDir": "./lib", /* Redirect output structure to the directory. */
|
||||
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||
// "composite": true, /* Enable project compilation */
|
||||
// "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */
|
||||
// "removeComments": true, /* Do not emit comments to output. */
|
||||
// "noEmit": true, /* Do not emit outputs. */
|
||||
// "importHelpers": true, /* Import emit helpers from 'tslib'. */
|
||||
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
||||
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
|
||||
|
||||
/* Strict Type-Checking Options */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
|
||||
// "strictNullChecks": true, /* Enable strict null checks. */
|
||||
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
|
||||
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
||||
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
|
||||
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
|
||||
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||
|
||||
/* Additional Checks */
|
||||
// "noUnusedLocals": true, /* Report errors on unused locals. */
|
||||
// "noUnusedParameters": true, /* Report errors on unused parameters. */
|
||||
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
|
||||
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
|
||||
|
||||
/* Module Resolution Options */
|
||||
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
|
||||
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
|
||||
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
|
||||
// "typeRoots": [], /* List of folders to include type definitions from. */
|
||||
// "types": [], /* Type declaration files to be included in compilation. */
|
||||
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
||||
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
|
||||
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
|
||||
// "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
|
||||
|
||||
/* Experimental Options */
|
||||
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
||||
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
||||
"esModuleInterop": true,
|
||||
"lib": [
|
||||
"ESNext"
|
||||
],
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"noImplicitAny": true,
|
||||
"outDir": "./lib",
|
||||
"removeComments": true,
|
||||
"rootDir": "./src",
|
||||
"sourceMap": true,
|
||||
"strict": true,
|
||||
"target": "ESNext"
|
||||
},
|
||||
"exclude": ["node_modules", "**/*.test.ts"]
|
||||
"exclude": ["__tests__", "lib", "node_modules"]
|
||||
}
|
||||
Reference in New Issue
Block a user