Skip to content

Commit

Permalink
refactor: migrating from containers to sysroots (#43)
Browse files Browse the repository at this point in the history
* ci: prepare cross toolchain

* ci: prepare sysroot with dependant libraries

* fix: vendor part

* fix: pkg names

* fix: symlink cleanup to only debian packages

* chore: enable container stage

* fix: yaml configuration
  • Loading branch information
deepak1556 authored Dec 7, 2023
1 parent a1f9239 commit ac73445
Show file tree
Hide file tree
Showing 21 changed files with 3,616 additions and 69 deletions.
930 changes: 930 additions & 0 deletions aarch64-gcc-8.5.0-glibc-2.28.config

Large diffs are not rendered by default.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
946 changes: 946 additions & 0 deletions armhf-gcc-8.5.0-glibc-2.28.config

Large diffs are not rendered by default.

169 changes: 101 additions & 68 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,75 +1,108 @@
jobs:
- job: bionic_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
arch: bionic-x64
parameters:
- name: github_release
displayName: Create Github Release
type: boolean
default: false
- name: dockerhub_release
displayName: Create Dockerhub Release
type: boolean
default: false

- job: centos7_devtoolset8_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
arch: centos7-devtoolset8-x64
stages:
- stage: Generate_toolchain
jobs:
- job: aarch64
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
config: aarch64-gcc-8.5.0-glibc-2.28.config
arch: arm64
pkg: aarch64-linux-gnu

- job: centos7_devtoolset8_arm64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
qemu: 'true'
arch: centos7-devtoolset8-arm64
- job: x86_64
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
config: x86_64-gcc-8.5.0-glibc-2.28.config
arch: amd64
pkg: x86_64-linux-gnu

- job: alpine_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
arch: alpine-x64
- job: armhf
pool:
vmImage: 'ubuntu-latest'
timeoutInMinutes: 180
steps:
- template: build-toolchain.yml
parameters:
arch: armhf
config: armhf-gcc-8.5.0-glibc-2.28.config
pkg: arm-rpi-linux-gnueabihf

- job: alpine_arm64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
qemu: 'true'
arch: alpine-arm64
- ${{ if parameters.github_release }}:
- stage: Release_toolchain
dependsOn:
- Generate_toolchain
pool:
vmImage: 'ubuntu-latest'
jobs:
- job: Publish_to_Github
variables:
currentDate: $[ format('{0:yyyy}{0:MM}{0:dd}', pipeline.startTime) ]
steps:
- download: current
patterns: |
**/*.tar.gz
- script: cp $(Pipeline.Workspace)/amd64/x86_64-linux-gnu.tar.gz $(Build.ArtifactStagingDirectory)/x86_64-linux-gnu.tar.gz
displayName: Copy x86_64 toolchain
- script: cp $(Pipeline.Workspace)/arm64/aarch64-linux-gnu.tar.gz $(Build.ArtifactStagingDirectory)/aarch64-linux-gnu.tar.gz
displayName: Copy aarch64 toolchain
- script: cp $(Pipeline.Workspace)/armhf/arm-rpi-linux-gnueabihf.tar.gz $(Build.ArtifactStagingDirectory)/arm-rpi-linux-gnueabihf.tar.gz
displayName: Copy armhf toolchain
- script: (cd $(Build.ArtifactStagingDirectory) ; shasum -a 256 *.tar.gz) > $(Build.ArtifactStagingDirectory)/SHASUMS256.txt
displayName: Compute checksums
- task: GithubRelease@1
displayName: Create GitHub Release
inputs:
gitHubConnection: oauth
repositoryName: microsoft/vscode-linux-build-agent
action: create
addChangeLog: false
tagSource: userSpecifiedTag
tag: v$(currentDate)-$(Build.BuildId)

- job: bionic_arm64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
arch: bionic-arm64
- stage: Containers
dependsOn: []
jobs:
- job: alpine_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build-containers.yml
parameters:
arch: alpine-x64
release: ${{ parameters.dockerhub_release }}

- job: bionic_armhf
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
arch: bionic-armhf
- job: alpine_arm64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build-containers.yml
parameters:
qemu: 'true'
arch: alpine-arm64
release: ${{ parameters.dockerhub_release }}

- job: bionic_arm32v7
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
qemu: 'true'
arch: bionic-arm32v7

- job: snapcraft_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build.yml
parameters:
arch: snapcraft-x64
- job: snapcraft_x64
pool:
vmImage: 'ubuntu-latest'
steps:
- template: build-containers.yml
parameters:
arch: snapcraft-x64
release: ${{ parameters.dockerhub_release }}
2 changes: 1 addition & 1 deletion build.yml → build-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ steps:
repository: 'vscode-linux-build-agent'
tags: ${{ parameters.arch }}
command: push
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
condition: and(succeeded(), eq(${{ parameters.release }}, true))
47 changes: 47 additions & 0 deletions build-toolchain.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
parameters:
- name: config
type: string
- name: arch
type: string
- name: pkg
type: string

steps:
- script: |
set -e
sudo apt-get update
sudo apt-get install -y gcc g++ gperf bison flex texinfo help2man make libncurses5-dev \
python3-dev autoconf automake libtool libtool-bin gawk wget bzip2 xz-utils unzip \
patch rsync meson ninja-build
displayName: 'Prepare dependencies'
- script: |
set -e
wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.26.0.tar.bz2
tar -xjf crosstool-ng-1.26.0.tar.bz2
cd crosstool-ng-1.26.0
./configure --prefix=`pwd`/out
make
make install
displayName: 'Setup crosstool-ng'
- script: |
set -e
export PATH=$PATH:`pwd`/crosstool-ng-1.26.0/out/bin
mkdir toolchain-dir
cd toolchain-dir
cat ../${{ parameters.config }} > .config
ct-ng build
displayName: 'Build toolchain'
- script: |
set -e
chmod 0755 -R `pwd`/toolchain-dir/${{ parameters.pkg }}
./sysroot-scripts/sysroot-creator.sh build ${{ parameters.arch }} \
`pwd`/toolchain-dir/${{ parameters.pkg }}/${{ parameters.pkg }}/sysroot
displayName: 'Install additional libraries'
- script: |
set -e
cd toolchain-dir
tar -czf ${{ parameters.pkg }}.tar.gz ${{ parameters.pkg }}
displayName: 'Create pipeline asset'
- publish: toolchain-dir/${{ parameters.pkg }}.tar.gz
artifact: ${{ parameters.arch }}
displayName: 'Publish artifact'
35 changes: 35 additions & 0 deletions sysroot-scripts/generated_package_lists/bullseye.amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/e/e2fsprogs/comerr-dev_2.1-1.46.6-1~bpo11+1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/e/e2fsprogs/libcom-err2_1.46.6-1~bpo11+1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/krb5-multidev_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libgssrpc4_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkadm5clnt-mit12_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkadm5srv-mit12_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkdb5-10_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5-dev_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libb/libbsd/libbsd0_0.11.3-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libm/libmd/libmd0_1.0.3-3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libs/libselinux/libselinux1_3.1-3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libx11/libx11-6_1.7.2-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libx11/libx11-dev_1.7.2-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxau/libxau6_1.0.9-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxau/libxau-dev_1.0.9-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxcb/libxcb1_1.14-3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxcb/libxcb1-dev_1.14-3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxdmcp/libxdmcp-dev_1.1.2-3_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxkbfile/libxkbfile1_1.1.0-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxkbfile/libxkbfile-dev_1.1.0-1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/o/openssl/libssl1.1_1.1.1n-0+deb11u4_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/o/openssl/libssl-dev_1.1.1n-0+deb11u4_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/x/xorgproto/x11proto-dev_2020.1-1_all.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_amd64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/z/zlib/zlib1g-dev_1.2.11.dfsg-2+deb11u2_amd64.deb
35 changes: 35 additions & 0 deletions sysroot-scripts/generated_package_lists/bullseye.arm64
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/e/e2fsprogs/comerr-dev_2.1-1.46.6-1~bpo11+1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/e/e2fsprogs/libcom-err2_1.46.6-1~bpo11+1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/krb5-multidev_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libgssrpc4_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkadm5clnt-mit12_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkadm5srv-mit12_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkdb5-10_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5-dev_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libb/libbsd/libbsd0_0.11.3-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libm/libmd/libmd0_1.0.3-3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libs/libselinux/libselinux1_3.1-3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libx11/libx11-6_1.7.2-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libx11/libx11-dev_1.7.2-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxau/libxau6_1.0.9-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxau/libxau-dev_1.0.9-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxcb/libxcb1_1.14-3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxcb/libxcb1-dev_1.14-3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxdmcp/libxdmcp-dev_1.1.2-3_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxkbfile/libxkbfile1_1.1.0-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxkbfile/libxkbfile-dev_1.1.0-1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/o/openssl/libssl1.1_1.1.1n-0+deb11u4_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/o/openssl/libssl-dev_1.1.1n-0+deb11u4_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/x/xorgproto/x11proto-dev_2020.1-1_all.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_arm64.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/z/zlib/zlib1g-dev_1.2.11.dfsg-2+deb11u2_arm64.deb
35 changes: 35 additions & 0 deletions sysroot-scripts/generated_package_lists/bullseye.armhf
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/e/e2fsprogs/comerr-dev_2.1-1.46.6-1~bpo11+1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/e/e2fsprogs/libcom-err2_1.46.6-1~bpo11+1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/keyutils/libkeyutils1_1.6.1-2_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/krb5-multidev_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libgssapi-krb5-2_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libgssrpc4_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libk5crypto3_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkadm5clnt-mit12_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkadm5srv-mit12_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkdb5-10_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5-3_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5-dev_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/k/krb5/libkrb5support0_1.18.3-6+deb11u3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libb/libbsd/libbsd0_0.11.3-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libm/libmd/libmd0_1.0.3-3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libs/libselinux/libselinux1_3.1-3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libt/libtirpc/libtirpc3_1.3.1-1+deb11u1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libx11/libx11-6_1.7.2-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libx11/libx11-dev_1.7.2-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxau/libxau6_1.0.9-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxau/libxau-dev_1.0.9-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxcb/libxcb1_1.14-3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxcb/libxcb1-dev_1.14-3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxdmcp/libxdmcp6_1.1.2-3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxdmcp/libxdmcp-dev_1.1.2-3_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxkbfile/libxkbfile1_1.1.0-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libx/libxkbfile/libxkbfile-dev_1.1.0-1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/libz/libzstd/libzstd1_1.4.8+dfsg-2.1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/o/openssl/libssl1.1_1.1.1n-0+deb11u4_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/o/openssl/libssl-dev_1.1.1n-0+deb11u4_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/p/pcre2/libpcre2-8-0_10.36-2+deb11u1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/x/xorgproto/x11proto-dev_2020.1-1_all.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/x/xz-utils/liblzma5_5.2.5-2.1~deb11u1_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/z/zlib/zlib1g_1.2.11.dfsg-2+deb11u2_armhf.deb
https://snapshot.debian.org/archive/debian/20230611T210420Z/pool/main/z/zlib/zlib1g-dev_1.2.11.dfsg-2+deb11u2_armhf.deb
Binary file added sysroot-scripts/keyring.gpg
Binary file not shown.
34 changes: 34 additions & 0 deletions sysroot-scripts/merge-package-lists.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env python3
# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

"""Merge package entries from different package lists.
"""

# This is used for replacing packages in eg. bullseye with those in bookworm.
# The updated packages are ABI compatible, but include security patches, so we
# should use those instead in our sysroots.

import sys

if len(sys.argv) != 2:
exit(1)

packages = {}

def AddPackagesFromFile(file):
global packages
lines = file.readlines()
if len(lines) % 3 != 0:
exit(1)
for i in range(0, len(lines), 3):
packages[lines[i]] = (lines[i + 1], lines[i + 2])

AddPackagesFromFile(open(sys.argv[1], 'r'))
AddPackagesFromFile(sys.stdin)

output_file = open(sys.argv[1], 'w')

for (package, (filename, sha256)) in packages.items():
output_file.write(package + filename + sha256)
Loading

0 comments on commit ac73445

Please sign in to comment.