From ff22a25a5d885ebc0d984f957fecf28996e93761 Mon Sep 17 00:00:00 2001 From: "Lance R. Vick" Date: Sun, 24 Jul 2022 05:30:55 -0700 Subject: [PATCH] Overhaul toolchain to be standalone and reproducible --- Dockerfile | 17 -- Makefile | 49 +++-- config.env | 3 + make/fetch.mk | 8 +- make/toolchain.mk | 30 --- toolchain/Dockerfile | 16 ++ toolchain/Makefile | 36 ++++ toolchain/config/package-hashes-x86_64.txt | 237 +++++++++++++++++++++ toolchain/config/packages-base.list | 12 ++ toolchain/config/packages-x86_64.list | 237 +++++++++++++++++++++ toolchain/scripts/packages-install | 24 +++ toolchain/scripts/packages-update | 42 ++++ 12 files changed, 645 insertions(+), 66 deletions(-) delete mode 100644 Dockerfile delete mode 100644 make/toolchain.mk create mode 100644 toolchain/Dockerfile create mode 100644 toolchain/Makefile create mode 100644 toolchain/config/package-hashes-x86_64.txt create mode 100644 toolchain/config/packages-base.list create mode 100644 toolchain/config/packages-x86_64.list create mode 100755 toolchain/scripts/packages-install create mode 100755 toolchain/scripts/packages-update diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index da38b97..0000000 --- a/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -ARG DEBIAN_HASH -FROM debian@sha256:${DEBIAN_HASH} - -RUN apt update && \ - apt install -y \ - git \ - curl \ - build-essential \ - flex \ - bison \ - libncurses-dev \ - bc \ - libelf-dev \ - libarchive-tools \ - libssl-dev \ - fakeroot \ - cpio diff --git a/Makefile b/Makefile index e54e5de..410c2cc 100644 --- a/Makefile +++ b/Makefile @@ -1,18 +1,19 @@ -NAME := qos DEBUG := true OUT_DIR := out KEY_DIR := keys TARGET := local CACHE_DIR := cache CONFIG_DIR := targets/$(TARGET) +TOOLCHAIN_DIR := toolchain SCRIPTS_DIR := scripts +USER := $(shell id -g):$(shell id -g) CPUS := $(shell nproc) ARCH := x86_64 include $(PWD)/config.env include $(PWD)/make/keys.mk include $(PWD)/make/fetch.mk -include $(PWD)/make/toolchain.mk +include $(PWD)/toolchain/Makefile .DEFAULT_GOAL := default .PHONY: default @@ -24,12 +25,22 @@ clean: rm -rf cache out docker image rm -f local/$(NAME)-build +# Launch a shell inside the toolchain container +.PHONY: toolchain-shell +toolchain-shell: $(OUT_DIR)/toolchain.tar + $(call toolchain,root,bash) + +# Pin all packages in toolchain container to latest versions +.PHONY: toolchain-update +toolchain-update: + $(call toolchain,root,toolchain-update ) + # Source anything required from the internet to build .PHONY: fetch fetch: \ - toolchain \ keys \ $(OUT_DIR) \ + $(OUT_DIR)/toolchain.tar \ $(CACHE_DIR) \ $(CACHE_DIR)/linux-$(LINUX_VERSION).tar.xz \ $(CACHE_DIR)/linux-$(LINUX_VERSION).tar.sign \ @@ -56,40 +67,48 @@ linux-config: rm $(CONFIG_DIR)/linux.config make $(CONFIG_DIR)/linux.config +# This can likely be eliminated with path fixes in toolchain/Makefile +$(OUT_DIR)/toolchain.tar: + ARCH=$(ARCH) \ + OUT_DIR=../$(OUT_DIR) \ + DEBIAN_HASH=$(DEBIAN_HASH) \ + $(MAKE) -C $(TOOLCHAIN_DIR) \ + ../$(OUT_DIR)/toolchain.tar + $(CONFIG_DIR)/busybox.config: - $(toolchain) " \ + $(call toolchain,$(USER), " \ cd /cache/busybox-$(BUSYBOX_VERSION) && \ KCONFIG_NOTIMESTAMP=1 make menuconfig && \ cp .config /config/busybox.config; \ - " + ") $(CONFIG_DIR)/linux.config: - $(toolchain) " \ + $(call toolchain,$(USER)," \ cd /cache/linux-$(LINUX_VERSION) && \ make menuconfig && \ cp .config /config/linux.config; \ - " + ") $(OUT_DIR)/busybox: \ $(CACHE_DIR)/busybox-$(BUSYBOX_VERSION) \ $(CACHE_DIR)/busybox-$(BUSYBOX_VERSION).tar.bz2 \ $(CACHE_DIR)/busybox-$(BUSYBOX_VERSION).tar.bz2.sig - $(toolchain) " \ + $(call toolchain,$(USER)," \ cd /cache/busybox-$(BUSYBOX_VERSION) && \ cp /config/busybox.config .config && \ make -j$(CPUS) busybox && \ cp busybox /out/; \ - " + ") $(CACHE_DIR)/linux-$(LINUX_VERSION)/usr/gen_init_cpio: \ $(CACHE_DIR)/linux-$(LINUX_VERSION) \ $(CACHE_DIR)/linux-$(LINUX_VERSION) \ $(CACHE_DIR)/linux-$(LINUX_VERSION).tar.xz \ $(CACHE_DIR)/linux-$(LINUX_VERSION).tar.sign - $(toolchain) " \ + $(call toolchain,$(USER)," \ cd /cache/linux-$(LINUX_VERSION) && \ gcc usr/gen_init_cpio.c -o usr/gen_init_cpio \ - " + ") $(OUT_DIR)/rootfs.cpio: \ $(OUT_DIR)/busybox \ @@ -97,7 +116,7 @@ $(OUT_DIR)/rootfs.cpio: \ mkdir -p $(CACHE_DIR)/rootfs/bin cp $(SCRIPTS_DIR)/busybox_init $(CACHE_DIR)/rootfs/init cp $(OUT_DIR)/busybox $(CACHE_DIR)/rootfs/bin/ - $(toolchain) " \ + $(call toolchain,$(USER)," \ cd /cache/rootfs && \ find . -mindepth 1 -execdir touch -hcd "@0" "{}" + && \ find . -mindepth 1 -printf '%P\0' && \ @@ -105,15 +124,15 @@ $(OUT_DIR)/rootfs.cpio: \ usr/gen_initramfs.sh -o /out/rootfs.cpio /config/rootfs.list && \ cpio -itv < /out/rootfs.cpio && \ sha256sum /out/rootfs.cpio; \ - " + ") $(OUT_DIR)/bzImage: \ $(OUT_DIR)/rootfs.cpio - $(toolchain) " \ + $(call toolchain,$(USER)," \ cd /cache/linux-$(LINUX_VERSION) && \ cp /config/linux.config .config && \ make olddefconfig && \ make -j$(CPUS) ARCH=$(ARCH) bzImage && \ cp arch/x86_64/boot/bzImage /out/ && \ sha256sum /out/bzImage; \ - " + ") diff --git a/config.env b/config.env index 582fcbe..fea1800 100644 --- a/config.env +++ b/config.env @@ -1,3 +1,5 @@ +export NAME = qos + export BUSYBOX_VERSION = 1.33.2 export LINUX_VERSION = 5.18.5 @@ -16,3 +18,4 @@ export LINUX_KEYS_REPO = https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git export DEBIAN_HASH = 3f1d6c17773a45c97bd8f158d665c9709d7b29ed7917ac934086ad96f92e4510 + diff --git a/make/fetch.mk b/make/fetch.mk index 245d716..38dd926 100644 --- a/make/fetch.mk +++ b/make/fetch.mk @@ -28,17 +28,17 @@ $(CACHE_DIR)/linux-$(LINUX_VERSION).tar: xz -d $(CACHE_DIR)/linux-$(LINUX_VERSION).tar.xz $(CACHE_DIR)/linux-$(LINUX_VERSION): $(CACHE_DIR)/linux-$(LINUX_VERSION).tar - $(toolchain) " \ + $(call toolchain,$(USER), " \ cd /cache && \ gpg --import /keys/$(LINUX_KEY).asc && \ gpg --verify linux-$(LINUX_VERSION).tar.sign && \ tar xf linux-$(LINUX_VERSION).tar; \ - " + ") $(CACHE_DIR)/busybox-$(BUSYBOX_VERSION): - $(toolchain) " \ + $(call toolchain,$(USER), " \ cd /cache && \ gpg --import /keys/$(BUSYBOX_KEY).asc && \ gpg --verify busybox-$(BUSYBOX_VERSION).tar.bz2.sig && \ tar -xf busybox-$(BUSYBOX_VERSION).tar.bz2 \ - " + ") diff --git a/make/toolchain.mk b/make/toolchain.mk deleted file mode 100644 index b7a43f9..0000000 --- a/make/toolchain.mk +++ /dev/null @@ -1,30 +0,0 @@ -.PHONY: toolchain-shell -build-shell: toolchain - $(toolchain) bash - -.PHONY: toolchain -toolchain: - DOCKER_BUILDKIT=1 \ - docker build \ - --tag local/$(NAME)-build \ - --build-arg DEBIAN_HASH=$(DEBIAN_HASH) \ - . - -toolchain := \ - docker run \ - --rm \ - --interactive \ - --user=$(shell id -u):$(shell id -g) \ - -v $(PWD)/$(CONFIG_DIR):/config \ - -v $(PWD)/$(KEY_DIR):/keys \ - -v $(PWD)/$(CACHE_DIR):/cache \ - -v $(PWD)/$(OUT_DIR):/out \ - -v $(PWD)/$(SCRIPTS_DIR):/scripts \ - -e GNUPGHOME=/cache/.gnupg \ - -e KBUILD_BUILD_USER=$(KBUILD_BUILD_USER) \ - -e KBUILD_BUILD_HOST=$(KBUILD_BUILD_HOST) \ - -e KBUILD_BUILD_TIMESTAMP=$(KBUILD_BUILD_TIMESTAMP) \ - -e KCONFIG_NOTIMESTAMP=$(KCONFIG_NOTIMESTAMP) \ - -e SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ - -t local/$(NAME)-build \ - bash -c diff --git a/toolchain/Dockerfile b/toolchain/Dockerfile new file mode 100644 index 0000000..805fa80 --- /dev/null +++ b/toolchain/Dockerfile @@ -0,0 +1,16 @@ +ARG DEBIAN_HASH +FROM debian@sha256:${DEBIAN_HASH} + +ENV DEBIAN_FRONTEND=noninteractive \ + LANG=C.UTF-8 \ + TZ=UTC \ + HOME=/home/build \ + PATH=/scripts:/usr/sbin:/usr/bin:/sbin:/bin + +ARG CONFIG_DIR +ADD ${CONFIG_DIR} /config + +ARG SCRIPTS_DIR +ADD ${SCRIPTS_DIR} /scripts + +RUN packages-install diff --git a/toolchain/Makefile b/toolchain/Makefile new file mode 100644 index 0000000..161fb87 --- /dev/null +++ b/toolchain/Makefile @@ -0,0 +1,36 @@ +PWD := $(dir $(abspath $(firstword $(MAKEFILE_LIST)))) + +# Build toolchain container using pinned packages +$(OUT_DIR)/toolchain.tar: + DOCKER_BUILDKIT=1 \ + docker build \ + --tag local/$(NAME)-build \ + --build-arg DEBIAN_HASH=$(DEBIAN_HASH) \ + --build-arg CONFIG_DIR=config \ + --build-arg SCRIPTS_DIR=scripts \ + $(PWD) + docker save "local/$(NAME)-build" -o "$@" + +define toolchain + docker load -i $(OUT_DIR)/toolchain.tar + docker run \ + --rm \ + --tty \ + --interactive \ + --user=$(1) \ + --platform=linux/$(ARCH) \ + --volume $(PWD)/$(CONFIG_DIR):/config \ + --volume $(PWD)/$(KEY_DIR):/keys \ + --volume $(PWD)/$(CACHE_DIR):/cache \ + --volume $(PWD)/$(OUT_DIR):/out \ + --volume $(PWD)/$(SCRIPTS_DIR):/scripts \ + --env GNUPGHOME=/cache/.gnupg \ + --env ARCH=$(ARCH) \ + --env KBUILD_BUILD_USER=$(KBUILD_BUILD_USER) \ + --env KBUILD_BUILD_HOST=$(KBUILD_BUILD_HOST) \ + --env KBUILD_BUILD_TIMESTAMP=$(KBUILD_BUILD_TIMESTAMP) \ + --env KCONFIG_NOTIMESTAMP=$(KCONFIG_NOTIMESTAMP) \ + --env SOURCE_DATE_EPOCH=$(SOURCE_DATE_EPOCH) \ + local/$(NAME)-build \ + bash -c $(2) +endef diff --git a/toolchain/config/package-hashes-x86_64.txt b/toolchain/config/package-hashes-x86_64.txt new file mode 100644 index 0000000..c6932ae --- /dev/null +++ b/toolchain/config/package-hashes-x86_64.txt @@ -0,0 +1,237 @@ +00b9e63e287f45300d4a4f59b6b88e25918443c932ae3e5845d5761ae193c530 libdb5.3_5.3.28+dfsg1-0.8_amd64.deb +018a3e48e58cbc478d3a4365090fb1daa151769f90f9b45984ec9d056ef96adc perl-base_5.32.1-4+deb11u2_amd64.deb +038b337a9f2b9bb39c6b03b3bdd79b85dec6dd360e0b93711659b91433b4d754 bzip2_1.0.8-4_amd64.deb +049b7eabced516acfdf44a5e81c26d108b16e4987e5d7604ea53eaade74027fb libx11-data_2%3a1.7.2-1_all.deb +04dace71ea2e14940bd0491e41331df77b5a5da82fe98ead228df756b4fe0bc8 libfakeroot_1.25.3-1.1_amd64.deb +068fa7a7b9f663bbd6d7ae5775942fc363fac86f2d966de0008646e2274d91ca less_551-2_amd64.deb +07af57b8d276f330830cf67ef144e461817e0ad99ac12c1e9e7e6b6882a4b42a gcc-10_10.2.1-6_amd64.deb +086bd667fc07369472a923da015d182bb0c15a72228a5c0e6ddbcbeaab70acd2 libx11-6_2%3a1.7.2-1_amd64.deb +0a4cc532fbf2c78cb4090a659fb73560981e626849532e6186f3a3ac6a45b3bc dash_0.5.11+git20200708+dd9ef66-5_amd64.deb +0b5c5b871029601a85131285d58e2f872e699d164ab157d9de8d2e081c234321 binutils_2.35.2-2_amd64.deb +0bc92b1b1851fbdf3343c527fefca7296a7b82ea36b8597924991140b541fc34 mawk_1.3.4.20200120-2_amd64.deb +0c149206554a6f90db6b855eb0292b8e03acddd1ea2c16569cb3e3fbc98257ea base-passwd_3.5.51_amd64.deb +0c770a2175f138ed43518cd50bd733523393ec1faa736be65b69315be151f00b libext2fs2_1.46.2-2_amd64.deb +0d52f4826a57aea13cea1a85bfae354024c7b2f7b95e39cd1ce225e4db27d0f6 libaudit-common_1%3a3.0-2_all.deb +122bf3de4ca0ec873bc35bdde1f21ec9d91ace4f5245c3b1240e077f866e1ae9 libsasl2-modules-db_2.1.27+dfsg-2.1+deb11u1_amd64.deb +157d0da18adc3b3531e7e619b4851de3f0f5ef4311b1db506ff05da7407249d3 libsmartcols1_2.36.1-8+deb11u1_amd64.deb +162ba9fdcde81b5502953ed4d84b24e8ad4e380bbd02990ab1a0e3edffca3c22 libreadline8_8.1-1_amd64.deb +16a507fb20cc58b5a524a0dc254a9cb1df02e1ce758a2d8abde0bc4a3c9b7c26 libgpg-error0_1.38-2_amd64.deb +16e27c3ebd97981e70db3733f899963362748f178a62644df69d1f247e741379 libbz2-1.0_1.0.8-4_amd64.deb +192c1631903259e6770b2f09dcab982f55497b770fe76d6c4febadfbb0be1318 libctf0_2.35.2-2_amd64.deb +1a5610a488ec05f3f4435150255449a56772346ad114353dfba1e4400a7d923c gpg-agent_2.2.27-2+deb11u2_amd64.deb +1c706f32ca93e04c2e38b6292491f645eda1e0d06a155c5678e22ca96d7b0da6 findutils_4.8.0-1_amd64.deb +1c79a02415ca5ee7234ac60502fb33ee94fa70b02d1c329a6a14178f8329c435 liblzma5_5.2.5-2.1~deb11u1_amd64.deb +1cebc4516ed7c240b812c7bdd7e6ea0810f513152717ca17ce139ee0dfbc7b0d perl_5.32.1-4+deb11u2_amd64.deb +1d85a2ec359bed34c18d4cf199d71719a7150ea60e338dc67a879dce1cf36657 libc-devtools_2.31-13+deb11u3_amd64.deb +1e4a937784484b996dc016d484637eba8cfdb1a40950dfa6bf2e922a268bfbd5 sysvinit-utils_2.96-7+deb11u1_amd64.deb +1efbc55de3ca1211fe4c0afc559f2edbded30ed3095d94dd602311bf604b3fd7 git_1%3a2.30.2-1_amd64.deb +1f19908dbd37bd2ba9b3b3c9eb6ab8bee9a72f72745e6887f5366bb5fece654b libkrb5support0_1.18.3-6+deb11u1_amd64.deb +1f67421437b6eb18669d2868e3e02cb88668683d635198142f48aacc5b397118 fonts-dejavu-core_2.37-2_all.deb +2093f798ca7b1d0b7f2da83914bbc6ea9ab3f1f5fccda9aa43b7c6abff3c53cb dirmngr_2.2.27-2+deb11u2_amd64.deb +20b1f56863dcc5f187d6cb53b2aa6149bd013be4ec67e10c2c31a22fda619a01 libstdc++-10-dev_10.2.1-6_amd64.deb +224cafe65968deb83168113b74dff2d2f13b115a41d99eb209ed3b8f981df0b3 libperl5.32_5.32.1-4+deb11u2_amd64.deb +2617fc8b99dca0fa8ed466ee0f5fe087aa4e8413b88ca45d717290f4a0551e36 libseccomp2_2.5.1-1+deb11u1_amd64.deb +26df8b458372fdea20ff89a19dec1d1aaf7bb1e27c3b4af5be84be1937692ba7 libassuan0_2.5.3-7.1_amd64.deb +284a7b8dcfcad74770f57360721365317448b38ab773db542bf630e94e60c13e libbsd0_0.11.3-1_amd64.deb +28de780a1605cf501c3a4ebf3e588f5110e814b208548748ab064100c32202ea libjpeg62-turbo_1%3a2.0.6-4_amd64.deb +28eec23a3b699bab69e9fcebc84db54ebf2f07b11f70e09ac72c67c65d1b6356 util-linux_2.36.1-8+deb11u1_amd64.deb +29f463841e21ee78ce717076975a8ebc2f2ee2979624402f3b88ec36ed713263 zlib1g_1%3a1.2.11.dfsg-2+deb11u1_amd64.deb +2ab853cbd0494c06fa694906c6eeea4df79720f461c76d080eb21a3e98f44115 libgssapi-krb5-2_1.18.3-6+deb11u1_amd64.deb +2b85212a300c614627c5c7bf519f6570dfdd23e8b1d059a6ed522038eb34e437 libc-bin_2.31-13+deb11u3_amd64.deb +2bf5c46254f527865bfd6368e1120908755fa57d83634bd7d316c9b3cfd57303 libicu67_67.1-7_amd64.deb +2e86ab7a3329aad4b7350a9b067fe8f80b680302f2f82d94f73f9bf075404460 libsasl2-2_2.1.27+dfsg-2.1+deb11u1_amd64.deb +2f029f16c32a7cf0403f8038c1cc8decc9d3a5fadffe087be0dfa2235bec2564 libc6_2.31-13+deb11u3_amd64.deb +30ca89bfddae5fa6e0a2a044f22b6e50cd17c4bc6bc850c579819aeab7101f0f libffi7_3.3-6_amd64.deb +31250af4dd3b7d1519326a9a6764d1466a93d8f498cf6545058761ebc38b2823 libuuid1_2.36.1-8+deb11u1_amd64.deb +31ea36803b8d249a9c8a3769f77ac51238e122089415432809de46c84350b5c1 libssl-dev_1.1.1n-0+deb11u3_amd64.deb +3288cd76324fee7b1a34b97f6e6bcfc32a889f4f22002d0bd3788d8988eca791 hostname_3.23_amd64.deb +329d2974829d0dd61ea5d59676ae6db10e49f97588ddff74042edd0a60b3bcd2 libxmuu1_2%3a1.1.2-2+b3_amd64.deb +339f5ede10500c16dd7192d73169c31c4b27ab12130347275f23044ec8c7d897 libselinux1_3.1-3_amd64.deb +34071be88dae063892af8818eec2532a19b4ea09c45efd4e9973de4c4d88ccb7 cpio_2.13+dfsg-4_amd64.deb +34c4c773e2a7600ea3ed0bec0b6931ae5b7de5741bf260cacc55b1a2b92e008d gzip_1.10-4+deb11u1_amd64.deb +3558a412ab51eee4b60641327cb145bb91415f127769823b68f9335585b308d4 coreutils_8.32-4+b1_amd64.deb +3691cf432febeb8dd621c6a36e3cc66b45fc119016532ffb33c742861aec868b openssl_1.1.1n-0+deb11u3_amd64.deb +37917c63d062cd924ba5084820353b256377d88371fbb89537ff06f7a0b5a6c7 sed_4.7-1_amd64.deb +379ba45ef8b884f686ac0af435fb307137a86e39ee816ae2516f14ff60332488 libudev1_247.3-7_amd64.deb +3928c253d4086e2ea0621c5b384d6f9cff4a58fd2c2f27467badccba2cd9875a diffutils_1%3a3.7-5_amd64.deb +3a8b61891f0ce9bd310088ce2d269d63b5afd88b9196fa4f046fd890faea4a17 libalgorithm-diff-perl_1.201-1_all.deb +3b711374092b84e732c4e73cf33e02cff02e34a5f105eb6467de8d9038e4cd9d libgcc-10-dev_10.2.1-6_amd64.deb +3d79ee84c42c1d1b58a6e0d7debc7e3c8444147b84412b8248a7789809bc3163 libldap-2.4-2_2.4.57+dfsg-3+deb11u1_amd64.deb +3f7c5bdaeab9446c8e3e282a61e160a78c426b69c5203f2d8a19037c5bf3b4eb libbinutils_2.35.2-2_amd64.deb +3f8c1eb408d0a4cb4db7b2092f7aaced5bd2956514a91b06636ed621eab2e4ed m4_1.4.18-5_amd64.deb +3f947176ef949f93e4ad5d76c067d33fa97cf90b62ee0748acb4f5f64790edc8 readline-common_8.1-1_all.deb +3fb82550a71d27d05672472508548576dfb34486847bc860d3066cda5aaf186f libxxhash0_0.8.0-2_amd64.deb +40d45cf1d877a306f71d0eff6c0b79469364b52215a1d23cf9a6d8698a1890b4 g++_4%3a10.2.1-1_amd64.deb +41eeaf9557571044f75b31730c05c22df3039d3152afd27b9fd33206f2fd5f7e libisl23_0.23-1_amd64.deb +42530f8ae7e5787bd6d269cda49b651c6920db0b18844d71fc960b12cc271259 libarchive13_3.4.3-2+deb11u1_amd64.deb +430c8b87648137e775bfca1fc5715e63be67ebb80fb84ad81c61173f440f7b23 base-files_11.1+deb11u4_amd64.deb +43420922c5e3aa747f8854236bf381a35179bba3885b242edb104751dad20644 init-system-helpers_1.60_all.deb +43bf075f7da8d2a30ab0799452ec49c2ae4fb47260f406f5470e2b63593f795b cpp_4%3a10.2.1-1_amd64.deb +43c90d45f7cf5584108964b919d6c728680d81af5fa70c8fb367d661cef54e8c libnpth0_1.6-3_amd64.deb +4530c95aefa48e33fd8cf4acbe5c4b559dbe7bdf4c56469986c83a203982cef1 libgomp1_10.2.1-6_amd64.deb +47cd7cb9bf37f657993a6ef2f24d4943ded5ef616d866f2d43bdf5e5b3abb6ea binutils-common_2.35.2-2_amd64.deb +48afb6ad7d15e6104a343b789f73697301ad8bff77b69927bc998f5a409d8e90 fontconfig-config_2.13.1-4.2_all.deb +48efcf2348967c211cd9408539edf7ec3fa9d800b33041f6511ccaecc1ffa9d0 libpcre3_2%3a8.39-13_amd64.deb +496771218fb585bb716fdae6ef8824dbfb5d544b4fa2f3cd4d0e4d7158ae2220 libpam0g_1.4.0-9+deb11u1_amd64.deb +49e64f0923cdecb2aaf6c93f176c25f63b841da2a501651ae23070f998967aa7 libxpm4_1%3a3.5.12-1_amd64.deb +4a010fc69322b6be9e141a76593f46e6588c968ee3b7cf79a3b8b7efda9aeeba libk5crypto3_1.18.3-6+deb11u1_amd64.deb +4ae47bedf773ad1342e5aae8fa6275f864cfc87a45f4472775f5a9cdd60abbbf libapt-pkg6.0_2.2.4_amd64.deb +4e0fe50fee6c42eeb8a77c55f08baca4f7ebc7d443760ffaaf5f437274f25800 libxml2_2.9.10+dfsg-6.7+deb11u2_amd64.deb +4ea9ce5df578309538e684fcbca0c4403c6d7ca01b3f44868829e98a55548e2a libtsan0_10.2.1-6_amd64.deb +52a3a5092d9723ff12dc9b3012b8b92dbbeb33d36286731a7ef0dd9e90e4fb9b gpgv_2.2.27-2+deb11u2_amd64.deb +52bfd0f8d3a1bbd2c25fcd72fab857d0f24aea35874af68e057dde869ae3902c libwebp6_0.6.1-2.1_amd64.deb +542593f26502e87b4276fa778e6e3ae52e66b973979986fff77803d9fcb2c2e8 passwd_1%3a4.8.1-1_amd64.deb +546631cad44a4e3b02b3416db43d8c52cbbecc673f1f69bf37b9c3865d56ab5a manpages_5.10-1_all.deb +5490c63e3dd750ae262ed3e70abfdc71ab62240f561153c659f6fbe8880d7c91 libtirpc-common_1.3.1-1_all.deb +56beca470dcd9b6d7e6c3c9e9d702101e01e9467e62810a8c357bd7b9c26251d debian-archive-keyring_2021.1.1_all.deb +572bf4571970c35bbebb6d3fdb7f2a5fbb02f3f07e86d791c7a211d84df999e5 libasan6_10.2.1-6_amd64.deb +594083f3588e82b725f2b0532c0fc85f7c9e306fcac26ba4401572d214d90c72 liberror-perl_0.17029-1_all.deb +5a5e0a896ead8fa3db122953061171d4e717349e8f3d50466729d9916fdc09a5 gcc-9-base_9.3.0-22_amd64.deb +5b908fa946a425c6f2b4e4b234f4e42ae61c35c6655dc06b9746145e09b6cb2f openssh-client_1%3a8.4p1-5+deb11u1_amd64.deb +5c155c58935870bf3b4bfe769116841c0d286a74f59eccfd5645693ac23f06b1 libstdc++6_10.2.1-6_amd64.deb +5d26306d12a45a8a03dca473490d56a765b58d61b53146c1c7784903cf59c45d libmpfr6_4.1.0-3_amd64.deb +5d7d8ee6a4e2f1d48fab1e63a8c6b515a9189936ea162c7a4b0bd5cd09cfd157 libsystemd0_247.3-7_amd64.deb +5dcadfbb743bfa1c1c773bff91c018f835e8e8c821d423d3836f3ab84773507b libzstd1_1.4.8+dfsg-2.1_amd64.deb +5e7a75814131f83334ef795e93f48c2b035df592a7cca49c0c339b8520a967e7 libtirpc-dev_1.3.1-1_amd64.deb +654433ad02d3a8b05c1683c6c29a224500bf343039c34dcec4e5e9515345e3d4 libunistring2_0.9.10-4_amd64.deb +65ca7d8b03e9dac09c5d544a89dd52d1aeb74f6a19583d32e4ff5f0c77624c24 libbrotli1_1.0.9-2+b2_amd64.deb +679db1c4579ec7c61079adeaae8528adeb2e4bf5465baa6c56233b995d714750 libxau6_1%3a1.0.9-1_amd64.deb +6aab2e892cdb2dfba45707601bc6c3b19aa228f70ae5841017f14c3b0ca3d22f libhogweed6_3.7.3-1_amd64.deb +6b5853688bb6d6bb9050d79ab732c751aa3ac7a5ed2404f7a6b53e7d4499bddc liblsan0_10.2.1-6_amd64.deb +6e0e48425c10054fd8ecd163c751afc8bf5cd0442a9b7558bfeb48c6b930c266 gpgconf_2.2.27-2+deb11u2_amd64.deb +6e356fec04533fb809a1d332ac74cd5f10e86841694e2fde69fcb1ef35ecbde5 flex_2.6.4-8_amd64.deb +6ec5c974d05848d9330eb41bf9c245f927b3330661577bc9382f0c5f96466a43 libfl-dev_2.6.4-8_amd64.deb +6f1253ce11b0b8372bf5bfd88962138796a0e596fa82caad83601bb1e9a0e889 grep_3.6-1_amd64.deb +6f9c494eecc920899bb2c72d1a507a34b3703105778b0b9b9ae9aebdbdffcaab libcurl4_7.74.0-1.3+deb11u1_amd64.deb +6fa15be322c3c89ec4a07d704ad58d4a2d1aabf866135a859f6d8d58c59e9df4 perl-modules-5.32_5.32.1-4+deb11u2_all.deb +6fa461966cc8b9c91777ca3a450917e2b45ce77d3a13f07cd03cfa42dc8b0ebf libcbor0_0.5.0+dfsg-2_amd64.deb +6ff19f91aa6bdd410cc1e1655d7d360ab97593c034bccfe46402e01d6ae2fb08 login_1%3a4.8.1-1_amd64.deb +6fff1f759e0b9ff93dd29f2fe565fa33ab42f8023b10f9d5e7947e4fc6079921 libgnutls30_3.7.1-5+deb11u1_amd64.deb +74bbaddb02d19e6ccb331819087aa02e94ded72e93294c51e3ba3c29dbcd9a2b libctf-nobfd0_2.35.2-2_amd64.deb +75f07c4965ff0813f26623a1164e162538f5e94defba6961347527ed71bc4f3d apt_2.2.4_amd64.deb +762808789cccba7d6bc5baa369b0e230ca716c623d51a7ebde4ad06938ce81f6 libcc1-0_10.2.1-6_amd64.deb +79ac6e9ca19c483f2e8effcc3401d723dd9dbb3a4ae324714de802adb21a8117 liblz4-1_1.9.3-2_amd64.deb +7a2e0eef8e0c37f03f3a5fcf7102a2e3dc70ba987f696ab71949f9abf36f35ef libgcrypt20_1.8.7-6_amd64.deb +7d5336af395d1f658d0e66d74d0e1f4c632028750e7e04314d1a650e0317f3d6 libpng16-16_1.6.37-3_amd64.deb +7e30de612faf5552bc30ce067bcd0abca70fcbf5e1c5737bf01f68345f2b1cfd libarchive-tools_3.4.3-2+deb11u1_amd64.deb +7f3c723450a8bc3b1b51b68145bb381d62a7d2f173e629e725312b599ed9fbf3 gpg_2.2.27-2+deb11u2_amd64.deb +8000012a7532112a4167200b968170a1bb354591b98ff237e5185804372565df gnupg-l10n_2.2.27-2+deb11u2_all.deb +83d21669c5957e3eaee20096a7d8c596bd07f57f1e95dc74f192b3fb7bb2e6a9 debianutils_4.11.2_amd64.deb +84a62717c2300ce6856bcc7404a6a0719d564ea648c6d4000031e7e9d502ce85 manpages-dev_5.10-1_all.deb +86ee8f307582708132806c687e0127375d4a42e23d2bf2c96054a547cadddd80 libcurl3-gnutls_7.74.0-1.3+deb11u1_amd64.deb +8743b526038e61a684b8327435c462288395d5b4f6b5b102d6ad11cbfccb52c7 libalgorithm-merge-perl_0.08-3_all.deb +8915e5f5675c36b2d858cca0db8feea677a576cb8bcae58208ce3162942f587e pinentry-curses_1.1.0-4_amd64.deb +89ed6332074d827a65305f9a51e591dff20641d61ff5e11f4e1822a9987e96fe lsb-base_11.1.0_all.deb +8b04bf00b8c43360d9ba3adec209db290168ba3526d4aef3175fb84372b1bebf libcrypt-dev_1%3a4.4.18-4_amd64.deb +8ba77ec6878d3f5e9ebec240e9a2a867325ae47c0d728cfcc4c90830f903a3bc libmpc3_1.2.0-1_amd64.deb +8c6d49b771530dbe26d7bd060582dc7d2b4eeb603a20789debc1ef4bbbc4ef67 patch_2.7.6-7_amd64.deb +8c6f58b2f0592fdc9d29abc979d3ff47f2c449e20c4f1b326f84165a86115c7b libgpm2_1.20.7-8_amd64.deb +8c8042bf894d52d32eda8c199b69a71a3a982136a15910fbbb7c1ce0741f4fb4 libc-dev-bin_2.31-13+deb11u3_amd64.deb +8da26252642f849249bd2f3c291b60aebdbbab1138c651aaeee8c356fe85d98f libss2_1.46.2-2_amd64.deb +9026ddd9f211008531ce6024d5ce042c723e237ecadfbf1f9343cb44aff492b9 libblkid1_2.36.1-8+deb11u1_amd64.deb +928d68175b85d9c08a8753101bc67717867f3ca36880ae31a624b3b29bd896fd zlib1g-dev_1%3a1.2.11.dfsg-2+deb11u1_amd64.deb +9435da9b51aba0f9b128ccf3e80cc1e8233aa6b816d7bddd5688ca6c4afb6e4d libubsan1_10.2.1-6_amd64.deb +9646d69eefce505407bf0437ea12fb7c2d47a3fd4434720ba46b642b6dcfd80f libjbig0_2.1-3.1+b2_amd64.deb +9b711a3a40b65a3ab435509bc0608d3ac3526744ad9ccbc28cad38e8bce794db libelf-dev_0.183-1_amd64.deb +9b9bbf07099b0cee57b72405511b6ea79556aa2ddbbd75aef2bb6240849c4fda dpkg-dev_1.20.11_all.deb +9e425b3c128b69126d95e61998e1b5ef74e862dd1fc953d91eebcc315aea62ea libmd0_1.0.3-3_amd64.deb +9f6e896325b284810bdf507c008e2d4393aed7885b8757caf544b0ece5ba14cc publicsuffix_20211207.1025-0+deb11u1_all.deb +a0b8d3acf4a0483048637637d269be93af48d5c16f6f139f53edd13384ad4686 libsqlite3-0_3.34.1-3_amd64.deb +a1a83af8cbd854af887b72ad196b1f4af58387815e21ced1000253a116a46e2a make_4.3-4.1_amd64.deb +a1a8aae24ced43025c94a9cb0c0eabfb3fc070785de9ee51c9a3a4fe86f0d11e libnghttp2-14_1.43.0-1_amd64.deb +a2e0f1eaf6f0eb28433a7820709cedaf0c284bed2689074d1a44ef15d49b43ee libdpkg-perl_1.20.11_all.deb +a3d8673804f32e9716e33111714e250b6f1092770a52e21fab99d0ab4b48c5d9 libmount1_2.36.1-8+deb11u1_amd64.deb +a4759df79c9e7e7cd9555112e3396b5c5d9198e6b8b6622bfd70672291370f46 libsasl2-modules_2.1.27+dfsg-2.1+deb11u1_amd64.deb +a72692553a1db720291d624c62cafc031f25b7293dedffbbd0df568d990ccb28 dpkg_1.20.11_amd64.deb +a89ecdc6fc8e39f74a27b9b9823fc2fb22103b5965212d54eea86f9f16769042 gnupg_2.2.27-2+deb11u2_all.deb +a9a5e1f53b7e27a3f2b8388929bb622d3c6c35a4e42ac166697444e5ed662fd5 libquadmath0_10.2.1-6_amd64.deb +aa18d721be8aea50fbdb32cd9a319cb18a3f111ea6ad17399aa4ba9324c8e26a libacl1_2.2.53-10_amd64.deb +ab18fc8127b384ba094dd2b83716b2197cc773573728ffcebb594918a27ba994 bc_1.07.1-2+b2_amd64.deb +abbbd181329c236676222d3e912df13f8d1d90a117559edd997d90006369e5c8 libpam-modules-bin_1.4.0-9+deb11u1_amd64.deb +ac545f6ad10ba791aca24b09255ad1d6d943e6bc7c5511d5998e104aee51c943 libedit2_3.1-20191231-2+b1_amd64.deb +acefe42e4307c6e9eb4618c8c038f3c10f1ef6100ff23afd5832b6f20cd39919 gpg-wks-server_2.2.27-2+deb11u2_amd64.deb +ad255447cc1b46f378c6dd483148f59c73ca8d7201df4a0681323f71e910d823 gcc_4%3a10.2.1-1_amd64.deb +aeaf942c71ecc0ed081efdead1a1de304dcd513a9fc06791f26992e76986597b libtinfo6_6.2+20201114-2_amd64.deb +af3c3562eb2802481a2b9558df1b389f3c6d9b1bf3b4219e000e05131372ebaf libattr1_1%3a2.4.48-6_amd64.deb +af50e8191f505b2afc0bdc1b6323a75842bfeed9e5a092565824cf4913f2d340 liblocale-gettext-perl_1.07-4+b1_amd64.deb +afb9dced3fcbdbc439a166eaa217dbfd485585842f12ce4587123009618e8bfe libkrb5-3_1.18.3-6+deb11u1_amd64.deb +b1fcd019be20743068a2ec622e9a7bedc7e2c4d1a78bde4594df7d4119c99c8e libncurses-dev_6.2+20201114-2_amd64.deb +b21cfdd12adf6cac4af320c2485fb62a8a5edc6f9768bc2288fd686f4fa6dfdf libfreetype6_2.10.4+dfsg-1+deb11u1_amd64.deb +b22d25e14421a36c4c3b721c04c6312d79ccd91c9a0e2291f58e36b8d4a07fbb libtiff5_4.2.0-1+deb11u1_amd64.deb +b2d488ad4d8d8adb3ba319fc9cb2cf9909fc42cb82ad239a26c570a2e749c389 ca-certificates_20210119_all.deb +b6057dc6806a6dfaef74b09d84d1f18716d7a6d2f1da30520cef555210c6af62 libsepol1_3.1-1_amd64.deb +b67966ee7bad5e87f4ae7eecb6f4fe76ba7c12af7b9876c09f1e758eb742232c fakeroot_1.25.3-1.1_amd64.deb +b71ad0ec4328fd5da01fbd060714dafb1471d68dbfd2f897ad890b2ecf50b204 binutils-x86-64-linux-gnu_2.35.2-2_amd64.deb +b92861827627a76e74d6f447a5577d039ef2f95da18af1f29aa98fb96baea4c1 libfontconfig1_2.13.1-4.2_amd64.deb +b9a447dc4ec8714196b037e20a2209e62cd669f5450222952f259bda4416b71f sensible-utils_0.0.14_all.deb +bb527cae6fc22bc3a4d7eeb046d0c985b4b19029e3e1f9935ce59c469b795a4f mount_2.36.1-8+deb11u1_amd64.deb +bb81a188c119cd7fdebae723cbc95887b6c549b2fe4fb7e268a9c8846444da99 libnsl-dev_1.3.0-2_amd64.deb +bbfd38de41898a06326f2a6ce4cc43e8e399f5566381231065b01d70499d5ba5 build-essential_12.9_amd64.deb +bd71dd1ab8dcd6005390708f23741d07f1913877affb7604dfd55f85d009aa2b adduser_3.118_all.deb +bd8e963c6edcf1c806df97cd73560794c347aa94b9aaaf3b88eea585bb2d2f3c tar_1.34+dfsg-1_amd64.deb +be65535e94f95fbf04b104e8ab36790476f063374430f7dfc6c516cbe2d2cd1e gcc-10-base_10.2.1-6_amd64.deb +bf55eaab2e1b818151fb5b8f2ca84e6680cc8d91a7b9a66c5c2f381aeaa43190 gnupg-utils_2.2.27-2+deb11u2_amd64.deb +bfef5f31ee1c730e56e16bb62cc5ff8372185106c75bf1ed1756c96703019457 libp11-kit0_0.23.22-1_amd64.deb +c0d83437fdb016cb289436f49f28a36be44b3e8f1f2498c7e3a095f709c0d6f8 libnsl2_1.3.0-2_amd64.deb +c15d038851d0d55a95f072d6697c97f5fbb5a1201173fabdddf22736245f20eb gpg-wks-client_2.2.27-2+deb11u2_amd64.deb +c332c14b2c705fef786070613616972ab066dfd5f95164d240439ec702fa1c16 xauth_1%3a1.1-1_amd64.deb +c3480bf90725c993187de02e5144e90ea81226e7e2538ba24687f5a0adc8ca5c libssl1.1_1.1.1n-0+deb11u3_amd64.deb +c56a7108e1c6dca27b4db9cce5c7c2b0c9d961b3572a1d1fe89058388401bd2b libsigsegv2_2.13-1_amd64.deb +c5d032254fa0af1a752b09246e4cb97b1866022786f225081122c5eb420d48da libtirpc3_1.3.1-1_amd64.deb +c6c623e1f294ee333400d3cb9f8f498e66f27060ff198f984c22b990b630fd84 libalgorithm-diff-xs-perl_0.04-6+b1_amd64.deb +c862859a37a686917c2ddfd5d707e33e5c07ce260a8912d6e3e58adb813722aa libksba8_1.5.0-3_amd64.deb +ca1e121700bf4b3eb33e30e0774d3e63e1adae9d4b6a940ea3501225db3cc287 libpam-modules_1.4.0-9+deb11u1_amd64.deb +cb80cd769171537bafbb4a16c12ec427065795946b3415781bc9792e92d60b59 libidn2-0_2.3.0-5_amd64.deb +d23358b1dfb77eeadb0d511ff4ed18d207519297c6ecb36eff523bfad7107fe4 ncurses-bin_6.2+20201114-2_amd64.deb +d25a7566c15c63c56eb34fa98e0663805ceb7cfd8054c2b6ae3f09be6982671c g++-10_10.2.1-6_amd64.deb +d319a026ecd02e2f605c52350949279f3c331a19380f8b6888ce5b9ef0d31349 libsemanage-common_3.1-1_all.deb +d31e4d6c04e847194b36b13ab59c578775aa12f04c48a840922796bd1f5eb32a libpcre2-8-0_10.36-2_amd64.deb +d34e29769b8ef23e9b9920814afb7905b8ee749db0814e6a8d937ccc4f309830 libcap-ng0_0.7.9-2.2+b1_amd64.deb +d36471952b01f8fa05db77b5fdede48837ebaa00e0e59712efb373fdb7956693 linux-libc-dev_5.10.127-1_amd64.deb +d478f132871f4ab8352d39becf936d0ad74db905398bf98465d8fe3da6fb1126 libcom-err2_1.46.2-2_amd64.deb +d50dd7c49277542edd4291f41e080fe7dfe09cf3676227c386f0cb9666dd2cbf gpgsm_2.2.27-2+deb11u2_amd64.deb +d5e0f047ed766f45eb7473947b70f9e8fddbe45ef22ecfd92ab712c0671a93ac libxcb1_1.14-3_amd64.deb +d716f5b4346ec85bb728f4530abeb1da4a79f696c72d7f774c59ba127c202fa7 libpsl5_0.21.0-1.2_amd64.deb +d8f2835b22df58ba45d52eb3aab224190f193576caf05e3f80deb2e4f927fad6 libsemanage1_3.1-1+b2_amd64.deb +d98a68a56386d0992446417a4ee9fa685ebe841e81303a7d4f45cdd4c133c3f6 libpam-runtime_1.4.0-9+deb11u1_all.deb +d9ee4dff77aaad12674eed3ccefdcccd332424c9e2ac2ac00a37a1e06c84ab70 debconf_1.5.77_all.deb +da0e25baf56de101e876ee43cd57d3ceeb0cc4c8d11328ac83e789af52d17350 logsave_1.46.2-2_amd64.deb +dadaf0d28360f6eb21ad389b2e0f12f8709c9de539b28de9c11d7ec7043dec95 libdeflate0_1.7-1_amd64.deb +dbde09eadd41fb531b2eeb25666835426fb01d9cb9f4f85495968de844655d9c bsdutils_1%3a2.36.1-8+deb11u1_amd64.deb +dc1ff8a2b60c7dd3c8917ffb9aa65ee6cda52648d9150608683c47319d1c0c8c libxext6_2%3a1.3.3-1.1_amd64.deb +dcc33dd1be11596f475c53ad11b5b62fdf611529e08c9cfe6a57277d9efc4165 libfile-fcntllock-perl_0.22-3+b7_amd64.deb +de03343c42ced7c4204903e1bfd15929b78d77e299f164d043af3a1c186a3f6a ncurses-base_6.2+20201114-2_all.deb +dfe45cb6ab048d1182175df55b007a4a188515c6d764a4dd5a44a0b47b6286a1 libncurses6_6.2+20201114-2_amd64.deb +e1ad132d502b255023c222d0cae1d02ca941f6b68fd0e9b908c6004cc326592c libelf1_0.183-1_amd64.deb +e1f69020dc2c466e421ec6a58406b643be8b5c382abf0f8989011c1d3df91c87 librtmp1_2.4+20151223.gitfa8646d.1-2+b2_amd64.deb +e3069628af14657a2fb2cc597c35982bf71d392ccf4e70207c92b156a0e341f5 libexpat1_2.2.10-2+deb11u3_amd64.deb +e3aa1383e387dc077a1176f7f3cbfdbc084bcc270a8938f598d5cb119773b268 libaudit1_1%3a3.0-2_amd64.deb +e478f2709d8474165bb664de42e16950c391f30eaa55bc9b3573281d83a29daf libgcc-s1_10.2.1-6_amd64.deb +e4f8ec31ed14518b241eb7b423ad5ed3f4a4e8ac50aae72c9fd475c569582764 libnettle8_3.7.3-1_amd64.deb +e54cfe4d8b8f209bb7df31a404ce040f7c2f9b1045114a927a7e1061cdf90727 libgdbm6_1.19-2_amd64.deb +e62caed68b0ffaa03b5fa539d6fdc08c4151f66236d5878949bead0b71b7bb09 libgdbm-compat4_1.19-2_amd64.deb +e8f1d04653698ab185c1144f35f905a1de87571c12ea630b65be669a2823d8c7 libatomic1_10.2.1-6_amd64.deb +e9efa10b4e45e8c941883b4bea29bc68dc5a298b8619bd786a7ca1675ca0c197 libfido2-1_1.6.0-2_amd64.deb +ebef6bcd777b5c0cc2699926f2159db08433aed07c50cb321fd828b28c5e8d53 ucf_3.0043_all.deb +ec17226299124a10fba4a3de666ca9050a4555a25fb30e9af9bcb234b6fbdfbe libdebconfclient0_0.260_amd64.deb +ec24234ea25d4d966a6db770f2113a396644ba26883a6e48a63af284f861fff6 git-man_1%3a2.30.2-1_all.deb +ecb8536f5fb34543b55bb9dc5f5b14c9dbb4150a7bddb3f2287b7cab6e9d25ef libxdmcp6_1%3a1.1.2-3_amd64.deb +ed2018b8c7ab7006826ccfcc6d306c3a5e1c6dc12595022e4e02913302fdc10e cpp-10_10.2.1-6_amd64.deb +ee3cd315dfa18865cf888ba6813a552077a4f3d1439dd225e4a0d0fee53aadc2 libncursesw6_6.2+20201114-2_amd64.deb +f01060b434d8cad3c58d5811d2082389f11b3db8152657d6c22c1d298953f2a5 libkeyutils1_1.6.1-2_amd64.deb +f2e09a43aa07a44d605e2949f8c2cb5f5c92f470848e178690421e0f697ba25a curl_7.74.0-1.3+deb11u1_amd64.deb +f303178585349a056ae4d8e8bf46e492e7c83502653548170e9a95b5408de40f xz-utils_5.2.5-2.1~deb11u1_amd64.deb +f33665f8059a8d161bc4c49be4888316b095bd2054e7bbacfaa2d1184409e6a5 bison_2%3a3.7.5+dfsg-1_amd64.deb +f4213b29b04ccaa13a7a2bc001ef4156c8fb31fc8a1fca6dc7a490fef21092cb libfl2_2.6.4-8_amd64.deb +f444889ad3441758e3a5092418e062da2b0c6a811fdb0c262a6b70cb2518dbde netbase_6.3_all.deb +f617952df0c57b4ee039448e3941bccd3f97bfff71e9b0f87ca6dae15cb3f5ef libcrypt1_1%3a4.4.18-4_amd64.deb +f64c41e2dba796167961485661fd6ec9b24ab1c48dff175a9b85056947b7b1d5 libc6-dev_2.31-13+deb11u3_amd64.deb +f702ef058e762d7208a9c83f6f6bbf02645533bfd615c54e8cdcce842cd57377 bash_5.1-2+deb11u1_amd64.deb +f730fe45716a206003597819ececeeffe0fff754bdbbd0105425a177aa20a2de libssh2-1_1.9.0-2_amd64.deb +fa1596ec64610463b0f805fe5aa7e2537682c1c77f1e08335456bfc36766c259 libitm1_10.2.1-6_amd64.deb +fadaa01272200dcaa476c6b8908e1faa93d6840610beca909099647829f3fdc1 libgd3_2.3.0-2_amd64.deb +fbd924ad16be1933ee07f505e2fe5a98df8c143eacecbd6f830ce4e25d93ca11 tzdata_2021a-1+deb11u4_all.deb +fc117ccb084a98d25021f7e01e4dfedd414fa2118fdd1e27d2d801d7248aebbc libgmp10_2%3a6.2.1+dfsg-1+deb11u1_amd64.deb +fcb8560938b8b10892d8654ad45c34a8d28432cba772bf44b4fbcf7823c6e5aa e2fsprogs_1.46.2-2_amd64.deb +fd7a200100298c2556e67bdc1a5faf5cf21c3136fa47f381d7e9769233ee88a1 libtasn1-6_4.16.0-2_amd64.deb +ffa2e83a690a551c0d3b77c29f606758df177b056abe4514f6e8286dc344ea5c libldap-common_2.4.57+dfsg-3+deb11u1_all.deb diff --git a/toolchain/config/packages-base.list b/toolchain/config/packages-base.list new file mode 100644 index 0000000..7b8e02c --- /dev/null +++ b/toolchain/config/packages-base.list @@ -0,0 +1,12 @@ +git +curl +build-essential +flex +bison +libncurses-dev +bc +libelf-dev +libarchive-tools +libssl-dev +fakeroot +cpio diff --git a/toolchain/config/packages-x86_64.list b/toolchain/config/packages-x86_64.list new file mode 100644 index 0000000..f7a858b --- /dev/null +++ b/toolchain/config/packages-x86_64.list @@ -0,0 +1,237 @@ +adduser=3.118 +apt=2.2.4 +base-files=11.1+deb11u4 +base-passwd=3.5.51 +bash=5.1-2+deb11u1 +bc=1.07.1-2+b2 +binutils-common=2.35.2-2 +binutils-x86-64-linux-gnu=2.35.2-2 +binutils=2.35.2-2 +bison=2:3.7.5+dfsg-1 +bsdutils=1:2.36.1-8+deb11u1 +build-essential=12.9 +bzip2=1.0.8-4 +ca-certificates=20210119 +coreutils=8.32-4+b1 +cpio=2.13+dfsg-4 +cpp-10=10.2.1-6 +cpp=4:10.2.1-1 +curl=7.74.0-1.3+deb11u1 +dash=0.5.11+git20200708+dd9ef66-5 +debconf=1.5.77 +debian-archive-keyring=2021.1.1 +debianutils=4.11.2 +diffutils=1:3.7-5 +dirmngr=2.2.27-2+deb11u2 +dpkg-dev=1.20.11 +dpkg=1.20.11 +e2fsprogs=1.46.2-2 +fakeroot=1.25.3-1.1 +findutils=4.8.0-1 +flex=2.6.4-8 +fontconfig-config=2.13.1-4.2 +fonts-dejavu-core=2.37-2 +g++-10=10.2.1-6 +g++=4:10.2.1-1 +gcc-10-base=10.2.1-6 +gcc-10=10.2.1-6 +gcc-9-base=9.3.0-22 +gcc=4:10.2.1-1 +git-man=1:2.30.2-1 +git=1:2.30.2-1 +gnupg-l10n=2.2.27-2+deb11u2 +gnupg-utils=2.2.27-2+deb11u2 +gnupg=2.2.27-2+deb11u2 +gpg-agent=2.2.27-2+deb11u2 +gpg-wks-client=2.2.27-2+deb11u2 +gpg-wks-server=2.2.27-2+deb11u2 +gpg=2.2.27-2+deb11u2 +gpgconf=2.2.27-2+deb11u2 +gpgsm=2.2.27-2+deb11u2 +gpgv=2.2.27-2+deb11u2 +grep=3.6-1 +gzip=1.10-4+deb11u1 +hostname=3.23 +init-system-helpers=1.60 +less=551-2 +libacl1=2.2.53-10 +libalgorithm-diff-perl=1.201-1 +libalgorithm-diff-xs-perl=0.04-6+b1 +libalgorithm-merge-perl=0.08-3 +libapt-pkg6.0=2.2.4 +libarchive-tools=3.4.3-2+deb11u1 +libarchive13=3.4.3-2+deb11u1 +libasan6=10.2.1-6 +libassuan0=2.5.3-7.1 +libatomic1=10.2.1-6 +libattr1=1:2.4.48-6 +libaudit-common=1:3.0-2 +libaudit1=1:3.0-2 +libbinutils=2.35.2-2 +libblkid1=2.36.1-8+deb11u1 +libbrotli1=1.0.9-2+b2 +libbsd0=0.11.3-1 +libbz2-1.0=1.0.8-4 +libc-bin=2.31-13+deb11u3 +libc-dev-bin=2.31-13+deb11u3 +libc-devtools=2.31-13+deb11u3 +libc6-dev=2.31-13+deb11u3 +libc6=2.31-13+deb11u3 +libcap-ng0=0.7.9-2.2+b1 +libcbor0=0.5.0+dfsg-2 +libcc1-0=10.2.1-6 +libcom-err2=1.46.2-2 +libcrypt-dev=1:4.4.18-4 +libcrypt1=1:4.4.18-4 +libctf-nobfd0=2.35.2-2 +libctf0=2.35.2-2 +libcurl3-gnutls=7.74.0-1.3+deb11u1 +libcurl4=7.74.0-1.3+deb11u1 +libdb5.3=5.3.28+dfsg1-0.8 +libdebconfclient0=0.260 +libdeflate0=1.7-1 +libdpkg-perl=1.20.11 +libedit2=3.1-20191231-2+b1 +libelf-dev=0.183-1 +libelf1=0.183-1 +liberror-perl=0.17029-1 +libexpat1=2.2.10-2+deb11u3 +libext2fs2=1.46.2-2 +libfakeroot=1.25.3-1.1 +libffi7=3.3-6 +libfido2-1=1.6.0-2 +libfile-fcntllock-perl=0.22-3+b7 +libfl-dev=2.6.4-8 +libfl2=2.6.4-8 +libfontconfig1=2.13.1-4.2 +libfreetype6=2.10.4+dfsg-1+deb11u1 +libgcc-10-dev=10.2.1-6 +libgcc-s1=10.2.1-6 +libgcrypt20=1.8.7-6 +libgd3=2.3.0-2 +libgdbm-compat4=1.19-2 +libgdbm6=1.19-2 +libgmp10=2:6.2.1+dfsg-1+deb11u1 +libgnutls30=3.7.1-5+deb11u1 +libgomp1=10.2.1-6 +libgpg-error0=1.38-2 +libgpm2=1.20.7-8 +libgssapi-krb5-2=1.18.3-6+deb11u1 +libhogweed6=3.7.3-1 +libicu67=67.1-7 +libidn2-0=2.3.0-5 +libisl23=0.23-1 +libitm1=10.2.1-6 +libjbig0=2.1-3.1+b2 +libjpeg62-turbo=1:2.0.6-4 +libk5crypto3=1.18.3-6+deb11u1 +libkeyutils1=1.6.1-2 +libkrb5-3=1.18.3-6+deb11u1 +libkrb5support0=1.18.3-6+deb11u1 +libksba8=1.5.0-3 +libldap-2.4-2=2.4.57+dfsg-3+deb11u1 +libldap-common=2.4.57+dfsg-3+deb11u1 +liblocale-gettext-perl=1.07-4+b1 +liblsan0=10.2.1-6 +liblz4-1=1.9.3-2 +liblzma5=5.2.5-2.1~deb11u1 +libmd0=1.0.3-3 +libmount1=2.36.1-8+deb11u1 +libmpc3=1.2.0-1 +libmpfr6=4.1.0-3 +libncurses-dev=6.2+20201114-2 +libncurses6=6.2+20201114-2 +libncursesw6=6.2+20201114-2 +libnettle8=3.7.3-1 +libnghttp2-14=1.43.0-1 +libnpth0=1.6-3 +libnsl-dev=1.3.0-2 +libnsl2=1.3.0-2 +libp11-kit0=0.23.22-1 +libpam-modules-bin=1.4.0-9+deb11u1 +libpam-modules=1.4.0-9+deb11u1 +libpam-runtime=1.4.0-9+deb11u1 +libpam0g=1.4.0-9+deb11u1 +libpcre2-8-0=10.36-2 +libpcre3=2:8.39-13 +libperl5.32=5.32.1-4+deb11u2 +libpng16-16=1.6.37-3 +libpsl5=0.21.0-1.2 +libquadmath0=10.2.1-6 +libreadline8=8.1-1 +librtmp1=2.4+20151223.gitfa8646d.1-2+b2 +libsasl2-2=2.1.27+dfsg-2.1+deb11u1 +libsasl2-modules-db=2.1.27+dfsg-2.1+deb11u1 +libsasl2-modules=2.1.27+dfsg-2.1+deb11u1 +libseccomp2=2.5.1-1+deb11u1 +libselinux1=3.1-3 +libsemanage-common=3.1-1 +libsemanage1=3.1-1+b2 +libsepol1=3.1-1 +libsigsegv2=2.13-1 +libsmartcols1=2.36.1-8+deb11u1 +libsqlite3-0=3.34.1-3 +libss2=1.46.2-2 +libssh2-1=1.9.0-2 +libssl-dev=1.1.1n-0+deb11u3 +libssl1.1=1.1.1n-0+deb11u3 +libstdc++-10-dev=10.2.1-6 +libstdc++6=10.2.1-6 +libsystemd0=247.3-7 +libtasn1-6=4.16.0-2 +libtiff5=4.2.0-1+deb11u1 +libtinfo6=6.2+20201114-2 +libtirpc-common=1.3.1-1 +libtirpc-dev=1.3.1-1 +libtirpc3=1.3.1-1 +libtsan0=10.2.1-6 +libubsan1=10.2.1-6 +libudev1=247.3-7 +libunistring2=0.9.10-4 +libuuid1=2.36.1-8+deb11u1 +libwebp6=0.6.1-2.1 +libx11-6=2:1.7.2-1 +libx11-data=2:1.7.2-1 +libxau6=1:1.0.9-1 +libxcb1=1.14-3 +libxdmcp6=1:1.1.2-3 +libxext6=2:1.3.3-1.1 +libxml2=2.9.10+dfsg-6.7+deb11u2 +libxmuu1=2:1.1.2-2+b3 +libxpm4=1:3.5.12-1 +libxxhash0=0.8.0-2 +libzstd1=1.4.8+dfsg-2.1 +linux-libc-dev=5.10.127-1 +login=1:4.8.1-1 +logsave=1.46.2-2 +lsb-base=11.1.0 +m4=1.4.18-5 +make=4.3-4.1 +manpages-dev=5.10-1 +manpages=5.10-1 +mawk=1.3.4.20200120-2 +mount=2.36.1-8+deb11u1 +ncurses-base=6.2+20201114-2 +ncurses-bin=6.2+20201114-2 +netbase=6.3 +openssh-client=1:8.4p1-5+deb11u1 +openssl=1.1.1n-0+deb11u3 +passwd=1:4.8.1-1 +patch=2.7.6-7 +perl-base=5.32.1-4+deb11u2 +perl-modules-5.32=5.32.1-4+deb11u2 +perl=5.32.1-4+deb11u2 +pinentry-curses=1.1.0-4 +publicsuffix=20211207.1025-0+deb11u1 +readline-common=8.1-1 +sed=4.7-1 +sensible-utils=0.0.14 +sysvinit-utils=2.96-7+deb11u1 +tar=1.34+dfsg-1 +tzdata=2021a-1+deb11u4 +ucf=3.0043 +util-linux=2.36.1-8+deb11u1 +xauth=1:1.1-1 +xz-utils=5.2.5-2.1~deb11u1 +zlib1g-dev=1:1.2.11.dfsg-2+deb11u1 +zlib1g=1:1.2.11.dfsg-2+deb11u1 diff --git a/toolchain/scripts/packages-install b/toolchain/scripts/packages-install new file mode 100755 index 0000000..be6f6dc --- /dev/null +++ b/toolchain/scripts/packages-install @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -e; + +ARCH=$(uname -m) + +cp /config/* /etc/apt/ + +apt-get update +until apt-get install --download-only --reinstall --allow-downgrades -y $(cat /etc/apt/packages-${ARCH}.list); do + echo "apt install failed. Likely throttled. Retrying in 10 mins..."; + sleep 600; +done; + +( + cd /var/cache/apt/archives \ + && find . -type f \( -iname \*.deb \) -exec sha256sum {} \; \ + | sed 's/.\///g' \ + | LC_ALL=C sort +) > /etc/apt/package-hashes-${ARCH}-compare.txt + +diff /etc/apt/package-hashes-${ARCH}{,-compare}.txt + +apt-get install --allow-downgrades -y $(cat /etc/apt/packages-${ARCH}.list) +rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/* /tmp/* /var/tmp/*; diff --git a/toolchain/scripts/packages-update b/toolchain/scripts/packages-update new file mode 100755 index 0000000..e3b1a7a --- /dev/null +++ b/toolchain/scripts/packages-update @@ -0,0 +1,42 @@ +#!/bin/bash + +[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; } +set -e + +cat /config/packages-base.list | sed 's/=.*//g' > /etc/apt/packages.list + +snapshot_url="http://snapshot.debian.org/archive/debian" +snapshot_date=$(date +"%Y%m%dT000000Z") +cat <<-EOF > /etc/apt/sources.list +deb http://deb.debian.org/debian bullseye main +deb http://security.debian.org/debian-security bullseye-security main +deb http://deb.debian.org/debian bullseye-updates main +deb [check-valid-until=no] ${snapshot_url}/${snapshot_date} bullseye main +deb [check-valid-until=no] ${snapshot_url}-security/${snapshot_date} bullseye-security main +deb [check-valid-until=no] ${snapshot_url}/${snapshot_date} bullseye-updates main +EOF + +ARCH=$(uname -m) + +apt-get update +apt-get install -y --download-only --reinstall $( \ + dpkg-query \ + -W \ + -f='${db:Status-Abbrev}\t${binary:Package} - ${binary:Summary}\n' \ + | awk -F'\t' '/^ii/ {print $2}' \ + | awk '{print $1}' \ +) +apt-get install -y --download-only $(cat /config/packages-${ARCH}.list) + +( cd /var/cache/apt/archives \ + && find . -type f \( -iname \*.deb \) -exec sha256sum {} \; \ + | sed 's/.\///g' \ + | LC_ALL=C sort +) > /config/package-hashes-${ARCH}.txt + +cp /dev/null /etc/apt/packages.list +for deb in /var/cache/apt/archives/*.deb; do + package=$(dpkg-deb -f $deb Package); + version=$(dpkg --info ${deb} | grep "^ Version: " | sed 's/^ Version: //g'); + echo "${package}=${version}" >> /config/packages-${ARCH}.list; +done