diff --git a/.github/workflows/bookworm-aarch64-sysroot.yaml b/.github/workflows/bookworm-aarch64-sysroot.yaml new file mode 100644 index 0000000..4e30845 --- /dev/null +++ b/.github/workflows/bookworm-aarch64-sysroot.yaml @@ -0,0 +1,51 @@ +--- +name: bookworm-aarch64 sysroot +on: + pull_request: + paths: + - "sysroot/**" + - .github/workflows/bookworm-aarch64-sysroot.yaml + push: + tags: + - "bookworm-sysroot-*" + +jobs: + toolchains: + runs-on: ubuntu-22.04 + name: bookworm-aarch64 sysroot + steps: + - name: Checkout source + uses: actions/checkout@v4 + + - name: Create sysroot + run: ./sysroot/sysroot-creator.sh build arm64 + + - name: Upload sysroot + uses: actions/upload-artifact@v4 + with: + name: debian_bookworm_aarch64_sysroot.tar.xz + path: sysroot/out/sysroot-build/bookworm/debian_bookworm_arm64_sysroot.tar.xz + + - uses: bazel-contrib/setup-bazel@0.15.0 + + - name: Mount bazel cache + uses: actions/cache@v4 + with: + path: "~/.cache/bazel" + key: bazel + + - name: Copy sysroot + run: cp sysroot/out/sysroot-build/bookworm/debian_bookworm_arm64_sysroot.tar.xz debian_bookworm_aarch64_sysroot.tar.xz + + - name: Test sysroot + run: bazel build --config=aarch64_sysroot //sysroot/... + + - name: Release sysroot + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: "sysroot/out/sysroot-build/bookworm/debian_bookworm_arm64_sysroot.tar.xz" + tag: ${{ github.ref }} + asset_name: debian_bookworm_aarch64_sysroot.tar.xz + overwrite: true diff --git a/.github/workflows/bookworm-x86_64-sysroot.yaml b/.github/workflows/bookworm-x86_64-sysroot.yaml new file mode 100644 index 0000000..59091ff --- /dev/null +++ b/.github/workflows/bookworm-x86_64-sysroot.yaml @@ -0,0 +1,51 @@ +--- +name: bookworm-x86_64 sysroot +on: + pull_request: + paths: + - "sysroot/**" + - .github/workflows/bookworm-x86_64-sysroot.yaml + push: + tags: + - "bookworm-sysroot-*" + +jobs: + toolchains: + runs-on: ubuntu-22.04 + name: bookworm-x86_64 sysroot + steps: + - name: Checkout source + uses: actions/checkout@v4 + + - name: Create sysroot + run: ./sysroot/sysroot-creator.sh build amd64 + + - name: Upload sysroot + uses: actions/upload-artifact@v4 + with: + name: debian_bookworm_x86_64_sysroot.tar.xz + path: sysroot/out/sysroot-build/bookworm/debian_bookworm_amd64_sysroot.tar.xz + + - uses: bazel-contrib/setup-bazel@0.15.0 + + - name: Mount bazel cache + uses: actions/cache@v4 + with: + path: "~/.cache/bazel" + key: bazel + + - name: Copy sysroot + run: cp sysroot/out/sysroot-build/bookworm/debian_bookworm_amd64_sysroot.tar.xz debian_bookworm_x86_64_sysroot.tar.xz + + - name: Test sysroot + run: bazel build --config=x86_64_sysroot //sysroot/... + + - name: Release sysroot + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: "sysroot/out/sysroot-build/bookworm/debian_bookworm_amd64_sysroot.tar.xz" + tag: ${{ github.ref }} + asset_name: debian_bookworm_x86_64_sysroot.tar.xz + overwrite: true diff --git a/.github/workflows/bullseye-aarch64-sysroot.yaml b/.github/workflows/bullseye-aarch64-sysroot.yaml deleted file mode 100644 index 5fee5c7..0000000 --- a/.github/workflows/bullseye-aarch64-sysroot.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: bullseye-aarch64 sysroot -on: - pull_request: - paths: - - "sysroot/**" - - .github/workflows/bullseye-aarch64-sysroot.yaml - push: - tags: - - "bullseye-sysroot-*" - -jobs: - toolchains: - runs-on: ubuntu-22.04 - name: bullseye-aarch64 sysroot - steps: - - name: Checkout source - uses: actions/checkout@v2 - - - name: Create sysroot - run: ./sysroot/sysroot-creator.sh build arm64 - - - name: Upload sysroot - uses: actions/upload-artifact@v3 - with: - name: debian_bullseye_aarch64_sysroot.tar.xz - path: sysroot/out/sysroot-build/bullseye/debian_bullseye_arm64_sysroot.tar.xz - - - uses: bazelbuild/setup-bazelisk@v2 - - - name: Mount bazel cache - uses: actions/cache@v1 - with: - path: "~/.cache/bazel" - key: bazel - - - name: Copy sysroot - run: cp sysroot/out/sysroot-build/bullseye/debian_bullseye_arm64_sysroot.tar.xz debian_bullseye_aarch64_sysroot.tar.xz - - - name: Test sysroot - run: bazel build --config=aarch64_sysroot //sysroot/... - - - name: Release sysroot - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: "sysroot/out/sysroot-build/bullseye/debian_bullseye_arm64_sysroot.tar.xz" - tag: ${{ github.ref }} - asset_name: debian_bullseye_aarch64_sysroot.tar.xz - overwrite: true diff --git a/.github/workflows/bullseye-x86_64-sysroot.yaml b/.github/workflows/bullseye-x86_64-sysroot.yaml deleted file mode 100644 index c6a634a..0000000 --- a/.github/workflows/bullseye-x86_64-sysroot.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: bullseye-x86_64 sysroot -on: - pull_request: - paths: - - "sysroot/**" - - .github/workflows/bullseye-x86_64-sysroot.yaml - push: - tags: - - "bullseye-sysroot-*" - -jobs: - toolchains: - runs-on: ubuntu-22.04 - name: bullseye-x86_64 sysroot - steps: - - name: Checkout source - uses: actions/checkout@v2 - - - name: Create sysroot - run: ./sysroot/sysroot-creator.sh build amd64 - - - name: Upload sysroot - uses: actions/upload-artifact@v3 - with: - name: debian_bullseye_x86_64_sysroot.tar.xz - path: sysroot/out/sysroot-build/bullseye/debian_bullseye_amd64_sysroot.tar.xz - - - uses: bazelbuild/setup-bazelisk@v2 - - - name: Mount bazel cache - uses: actions/cache@v1 - with: - path: "~/.cache/bazel" - key: bazel - - - name: Copy sysroot - run: cp sysroot/out/sysroot-build/bullseye/debian_bullseye_amd64_sysroot.tar.xz debian_bullseye_x86_64_sysroot.tar.xz - - - name: Test sysroot - run: bazel build --config=x86_64_sysroot //sysroot/... - - - name: Release sysroot - if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: "sysroot/out/sysroot-build/bullseye/debian_bullseye_amd64_sysroot.tar.xz" - tag: ${{ github.ref }} - asset_name: debian_bullseye_x86_64_sysroot.tar.xz - overwrite: true diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 02d9b87..602d163 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -39,7 +39,7 @@ filegroup( visibility = ["//visibility:public"], ) """, - src = "//:debian_bullseye_aarch64_sysroot.tar.xz", + src = "//:debian_bookworm_aarch64_sysroot.tar.xz", ) local_archive( @@ -51,5 +51,5 @@ filegroup( visibility = ["//visibility:public"], ) """, - src = "//:debian_bullseye_x86_64_sysroot.tar.xz", + src = "//:debian_bookworm_x86_64_sysroot.tar.xz", ) diff --git a/sysroot/generated_package_lists/bookworm.amd64 b/sysroot/generated_package_lists/bookworm.amd64 new file mode 100644 index 0000000..bf99233 --- /dev/null +++ b/sysroot/generated_package_lists/bookworm.amd64 @@ -0,0 +1,12 @@ +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libgcc-10-dev_10.2.1-6_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libstdc++-10-dev_10.2.1-6_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/glibc/libc6-dev_2.31-13+deb11u5_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/glibc/libc6_2.31-13+deb11u5_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/libblas-dev_3.9.0-3+deb11u1_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/libblas3_3.9.0-3+deb11u1_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/liblapack-dev_3.9.0-3+deb11u1_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/liblapack3_3.9.0-3+deb11u1_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/linux/linux-libc-dev_5.10.218-1_amd64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/u/util-linux/uuid-dev_2.36.1-8+deb11u2_amd64.deb diff --git a/sysroot/generated_package_lists/bookworm.arm64 b/sysroot/generated_package_lists/bookworm.arm64 new file mode 100644 index 0000000..19d4656 --- /dev/null +++ b/sysroot/generated_package_lists/bookworm.arm64 @@ -0,0 +1,12 @@ +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libgcc-10-dev_10.2.1-6_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libgcc-s1_10.2.1-6_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libstdc++-10-dev_10.2.1-6_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/gcc-10/libstdc++6_10.2.1-6_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/glibc/libc6-dev_2.31-13+deb11u5_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/g/glibc/libc6_2.31-13+deb11u5_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/libblas-dev_3.9.0-3+deb11u1_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/libblas3_3.9.0-3+deb11u1_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/liblapack-dev_3.9.0-3+deb11u1_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/lapack/liblapack3_3.9.0-3+deb11u1_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/l/linux/linux-libc-dev_5.10.218-1_arm64.deb +https://snapshot.debian.org/archive/debian/20240829T000000Z/pool/main/u/util-linux/uuid-dev_2.36.1-8+deb11u2_arm64.deb diff --git a/sysroot/keyring.gpg b/sysroot/keyring.gpg index 81e2624..bf14b0c 100644 Binary files a/sysroot/keyring.gpg and b/sysroot/keyring.gpg differ diff --git a/sysroot/sysroot-creator.sh b/sysroot/sysroot-creator.sh index 08cddea..4474596 100755 --- a/sysroot/sysroot-creator.sh +++ b/sysroot/sysroot-creator.sh @@ -21,31 +21,26 @@ set -o errexit SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" DISTRO=debian -RELEASE=bullseye +RELEASE=bookworm # This number is appended to the sysroot key to cause full rebuilds. It # should be incremented when removing packages or patching existing packages. # It should not be incremented when adding packages. SYSROOT_RELEASE=1 -ARCHIVE_TIMESTAMP=20230329T085712Z +ARCHIVE_TIMESTAMP=20240829T000000Z ARCHIVE_URL="https://snapshot.debian.org/archive/debian/$ARCHIVE_TIMESTAMP/" APT_SOURCES_LIST=( - # Debian 12 (Bookworm) is needed for GTK4. It should be kept before bullseye - # so that bullseye takes precedence. - "${ARCHIVE_URL} bookworm main" - "${ARCHIVE_URL} bookworm-updates main" + # This mimics a sources.list from bookworm. + "${ARCHIVE_URL} bookworm main contrib non-free non-free-firmware" + "${ARCHIVE_URL} bookworm-updates main contrib non-free non-free-firmware" + "${ARCHIVE_URL} bookworm-backports main contrib non-free non-free-firmware" - # Debian 9 (Stretch) is needed for gnome-keyring. It should be kept before - # bullseye so that bullseye takes precedence. - "${ARCHIVE_URL} stretch main" - "${ARCHIVE_URL} stretch-updates main" - - # This mimics a sources.list from bullseye. + # Debian 11 (Bullseye) is kept for compatibility with older packages if needed. + # It should be kept after bookworm so that bookworm takes precedence. "${ARCHIVE_URL} bullseye main contrib non-free" "${ARCHIVE_URL} bullseye-updates main contrib non-free" - "${ARCHIVE_URL} bullseye-backports main contrib non-free" ) # gpg keyring file generated using generate_keyring.sh