diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ec2e29756..9187a7ee1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -15,3 +15,7 @@ jobs: installability-tests: name: Installability tests uses: canonical/chisel-releases/.github/workflows/install-slices.yaml@main + + lint: + name: Lint + uses: canonical/chisel-releases/.github/workflows/lint.yaml@main diff --git a/chisel.yaml b/chisel.yaml index 1643302c7..3e08f1d01 100644 --- a/chisel.yaml +++ b/chisel.yaml @@ -1,44 +1,44 @@ format: chisel-v1 archives: - ubuntu: - version: 24.04 - components: [main, universe] - suites: [noble, noble-security, noble-updates] - v1-public-keys: [ubuntu-archive-key-2018] + ubuntu: + version: 24.04 + components: [main, universe] + suites: [noble, noble-security, noble-updates] + v1-public-keys: [ubuntu-archive-key-2018] v1-public-keys: - # Ubuntu Archive Automatic Signing Key (2018) - # rsa4096/f6ecb3762474eda9d21b7022871920d1991bc93c 2018-09-17T15:01:46Z - ubuntu-archive-key-2018: - id: "871920D1991BC93C" - armor: | - -----BEGIN PGP PUBLIC KEY BLOCK----- + # Ubuntu Archive Automatic Signing Key (2018) + # rsa4096/f6ecb3762474eda9d21b7022871920d1991bc93c 2018-09-17T15:01:46Z + ubuntu-archive-key-2018: + id: "871920D1991BC93C" + armor: | + -----BEGIN PGP PUBLIC KEY BLOCK----- - mQINBFufwdoBEADv/Gxytx/LcSXYuM0MwKojbBye81s0G1nEx+lz6VAUpIUZnbkq - dXBHC+dwrGS/CeeLuAjPRLU8AoxE/jjvZVp8xFGEWHYdklqXGZ/gJfP5d3fIUBtZ - HZEJl8B8m9pMHf/AQQdsC+YzizSG5t5Mhnotw044LXtdEEkx2t6Jz0OGrh+5Ioxq - X7pZiq6Cv19BohaUioKMdp7ES6RYfN7ol6HSLFlrMXtVfh/ijpN9j3ZhVGVeRC8k - KHQsJ5PkIbmvxBiUh7SJmfZUx0IQhNMaDHXfdZAGNtnhzzNReb1FqNLSVkrS/Pns - AQzMhG1BDm2VOSF64jebKXffFqM5LXRQTeqTLsjUbbrqR6s/GCO8UF7jfUj6I7ta - LygmsHO/JD4jpKRC0gbpUBfaiJyLvuepx3kWoqL3sN0LhlMI80+fA7GTvoOx4tpq - VlzlE6TajYu+jfW3QpOFS5ewEMdL26hzxsZg/geZvTbArcP+OsJKRmhv4kNo6Ayd - yHQ/3ZV/f3X9mT3/SPLbJaumkgp3Yzd6t5PeBu+ZQk/mN5WNNuaihNEV7llb1Zhv - Y0Fxu9BVd/BNl0rzuxp3rIinB2TX2SCg7wE5xXkwXuQ/2eTDE0v0HlGntkuZjGow - DZkxHZQSxZVOzdZCRVaX/WEFLpKa2AQpw5RJrQ4oZ/OfifXyJzP27o03wQARAQAB - tEJVYnVudHUgQXJjaGl2ZSBBdXRvbWF0aWMgU2lnbmluZyBLZXkgKDIwMTgpIDxm - dHBtYXN0ZXJAdWJ1bnR1LmNvbT6JAjgEEwEKACIFAlufwdoCGwMGCwkIBwMCBhUI - AgkKCwQWAgMBAh4BAheAAAoJEIcZINGZG8k8LHMQAKS2cnxz/5WaoCOWArf5g6UH - beOCgc5DBm0hCuFDZWWv427aGei3CPuLw0DGLCXZdyc5dqE8mvjMlOmmAKKlj1uG - g3TYCbQWjWPeMnBPZbkFgkZoXJ7/6CB7bWRht1sHzpt1LTZ+SYDwOwJ68QRp7DRa - Zl9Y6QiUbeuhq2DUcTofVbBxbhrckN4ZteLvm+/nG9m/ciopc66LwRdkxqfJ32Cy - q+1TS5VaIJDG7DWziG+Kbu6qCDM4QNlg3LH7p14CrRxAbc4lvohRgsV4eQqsIcdF - kuVY5HPPj2K8TqpY6STe8Gh0aprG1RV8ZKay3KSMpnyV1fAKn4fM9byiLzQAovC0 - LZ9MMMsrAS/45AvC3IEKSShjLFn1X1dRCiO6/7jmZEoZtAp53hkf8SMBsi78hVNr - BumZwfIdBA1v22+LY4xQK8q4XCoRcA9G+pvzU9YVW7cRnDZZGl0uwOw7z9PkQBF5 - KFKjWDz4fCk+K6+YtGpovGKekGBb8I7EA6UpvPgqA/QdI0t1IBP0N06RQcs1fUaA - QEtz6DGy5zkRhR4pGSZn+dFET7PdAjEK84y7BdY4t+U1jcSIvBj0F2B7LwRL7xGp - SpIKi/ekAXLs117bvFHaCvmUYN7JVp1GMmVFxhIdx6CFm3fxG8QjNb5tere/YqK+ - uOgcXny1UlwtCUzlrSaP - =9AdM - -----END PGP PUBLIC KEY BLOCK----- + mQINBFufwdoBEADv/Gxytx/LcSXYuM0MwKojbBye81s0G1nEx+lz6VAUpIUZnbkq + dXBHC+dwrGS/CeeLuAjPRLU8AoxE/jjvZVp8xFGEWHYdklqXGZ/gJfP5d3fIUBtZ + HZEJl8B8m9pMHf/AQQdsC+YzizSG5t5Mhnotw044LXtdEEkx2t6Jz0OGrh+5Ioxq + X7pZiq6Cv19BohaUioKMdp7ES6RYfN7ol6HSLFlrMXtVfh/ijpN9j3ZhVGVeRC8k + KHQsJ5PkIbmvxBiUh7SJmfZUx0IQhNMaDHXfdZAGNtnhzzNReb1FqNLSVkrS/Pns + AQzMhG1BDm2VOSF64jebKXffFqM5LXRQTeqTLsjUbbrqR6s/GCO8UF7jfUj6I7ta + LygmsHO/JD4jpKRC0gbpUBfaiJyLvuepx3kWoqL3sN0LhlMI80+fA7GTvoOx4tpq + VlzlE6TajYu+jfW3QpOFS5ewEMdL26hzxsZg/geZvTbArcP+OsJKRmhv4kNo6Ayd + yHQ/3ZV/f3X9mT3/SPLbJaumkgp3Yzd6t5PeBu+ZQk/mN5WNNuaihNEV7llb1Zhv + Y0Fxu9BVd/BNl0rzuxp3rIinB2TX2SCg7wE5xXkwXuQ/2eTDE0v0HlGntkuZjGow + DZkxHZQSxZVOzdZCRVaX/WEFLpKa2AQpw5RJrQ4oZ/OfifXyJzP27o03wQARAQAB + tEJVYnVudHUgQXJjaGl2ZSBBdXRvbWF0aWMgU2lnbmluZyBLZXkgKDIwMTgpIDxm + dHBtYXN0ZXJAdWJ1bnR1LmNvbT6JAjgEEwEKACIFAlufwdoCGwMGCwkIBwMCBhUI + AgkKCwQWAgMBAh4BAheAAAoJEIcZINGZG8k8LHMQAKS2cnxz/5WaoCOWArf5g6UH + beOCgc5DBm0hCuFDZWWv427aGei3CPuLw0DGLCXZdyc5dqE8mvjMlOmmAKKlj1uG + g3TYCbQWjWPeMnBPZbkFgkZoXJ7/6CB7bWRht1sHzpt1LTZ+SYDwOwJ68QRp7DRa + Zl9Y6QiUbeuhq2DUcTofVbBxbhrckN4ZteLvm+/nG9m/ciopc66LwRdkxqfJ32Cy + q+1TS5VaIJDG7DWziG+Kbu6qCDM4QNlg3LH7p14CrRxAbc4lvohRgsV4eQqsIcdF + kuVY5HPPj2K8TqpY6STe8Gh0aprG1RV8ZKay3KSMpnyV1fAKn4fM9byiLzQAovC0 + LZ9MMMsrAS/45AvC3IEKSShjLFn1X1dRCiO6/7jmZEoZtAp53hkf8SMBsi78hVNr + BumZwfIdBA1v22+LY4xQK8q4XCoRcA9G+pvzU9YVW7cRnDZZGl0uwOw7z9PkQBF5 + KFKjWDz4fCk+K6+YtGpovGKekGBb8I7EA6UpvPgqA/QdI0t1IBP0N06RQcs1fUaA + QEtz6DGy5zkRhR4pGSZn+dFET7PdAjEK84y7BdY4t+U1jcSIvBj0F2B7LwRL7xGp + SpIKi/ekAXLs117bvFHaCvmUYN7JVp1GMmVFxhIdx6CFm3fxG8QjNb5tere/YqK+ + uOgcXny1UlwtCUzlrSaP + =9AdM + -----END PGP PUBLIC KEY BLOCK----- diff --git a/slices/base-files.yaml b/slices/base-files.yaml index 7f7f22a09..a1063d5b5 100644 --- a/slices/base-files.yaml +++ b/slices/base-files.yaml @@ -3,12 +3,12 @@ package: base-files slices: base: essential: - - base-files_etc - base-files_bin + - base-files_etc + - base-files_home - base-files_lib - base-files_tmp - base-files_var - - base-files_home etc: contents: @@ -24,9 +24,9 @@ slices: lib: contents: /lib: + /lib64: {arch: [amd64, ppc64el]} /usr/lib/: - /lib64: {arch: [amd64,ppc64el]} - /usr/lib64/: {arch: [amd64,ppc64el]} + /usr/lib64/: {arch: [amd64, ppc64el]} tmp: contents: @@ -54,8 +54,8 @@ slices: contents: /etc/debian_version: /etc/dpkg/origins/debian: - /etc/dpkg/origins/ubuntu: /etc/dpkg/origins/default: {symlink: /etc/dpkg/origins/ubuntu} + /etc/dpkg/origins/ubuntu: /etc/host.conf: /etc/issue: /etc/issue.net: diff --git a/slices/base-passwd.yaml b/slices/base-passwd.yaml index 0e6d4e3c4..cadc1f904 100644 --- a/slices/base-passwd.yaml +++ b/slices/base-passwd.yaml @@ -3,10 +3,10 @@ package: base-passwd slices: data: contents: - /usr/share/base-passwd/group.master: {until: mutate} - /usr/share/base-passwd/passwd.master: {until: mutate} - /etc/group: {text: FIXME, mutable: true} + /etc/group: {text: FIXME, mutable: true} /etc/passwd: {text: FIXME, mutable: true} + /usr/share/base-passwd/group.master: {until: mutate} + /usr/share/base-passwd/passwd.master: {until: mutate} mutate: | gr = content.read("/usr/share/base-passwd/group.master") content.write("/etc/group", gr) diff --git a/slices/bash.yaml b/slices/bash.yaml index 93e6b7a37..b983908d3 100644 --- a/slices/bash.yaml +++ b/slices/bash.yaml @@ -16,6 +16,6 @@ slices: contents: # user should manually link /bin/sh to /bin/bash /usr/bin/bash: - /usr/bin/rbash: - /usr/bin/clear_console: /usr/bin/bashbug: + /usr/bin/clear_console: + /usr/bin/rbash: diff --git a/slices/ca-certificates.yaml b/slices/ca-certificates.yaml index bdd36c7a6..c2e90cb00 100644 --- a/slices/ca-certificates.yaml +++ b/slices/ca-certificates.yaml @@ -8,5 +8,7 @@ slices: /usr/share/ca-certificates/mozilla/*: {until: mutate} mutate: | certs_dir = "/usr/share/ca-certificates/mozilla/" - certs = [content.read(certs_dir + path) for path in content.list(certs_dir)] + certs = [ + content.read(certs_dir + path) for path in content.list(certs_dir) + ] content.write("/etc/ssl/certs/ca-certificates.crt", "".join(certs)) diff --git a/slices/findutils.yaml b/slices/findutils.yaml index e8efa331a..5a176e730 100644 --- a/slices/findutils.yaml +++ b/slices/findutils.yaml @@ -4,7 +4,7 @@ slices: bins: essential: - libc6_libs - - libselinux1_libs + - libselinux1_libs contents: /usr/bin/find: /usr/bin/xargs: diff --git a/slices/grep.yaml b/slices/grep.yaml index 38cc5ad81..48e8b388a 100644 --- a/slices/grep.yaml +++ b/slices/grep.yaml @@ -9,7 +9,8 @@ slices: /usr/bin/grep: deprecated: - # These are shell scripts requiring a symlink from /usr/bin/dash to /usr/bin/sh + # These are shell scripts requiring a symlink from /usr/bin/dash to + # /usr/bin/sh. # See: https://manpages.ubuntu.com/manpages/noble/en/man1/grep.1.html essential: - dash_bins diff --git a/slices/libc6.yaml b/slices/libc6.yaml index 5f67118a6..2fbf89656 100644 --- a/slices/libc6.yaml +++ b/slices/libc6.yaml @@ -7,6 +7,7 @@ slices: libs: contents: + /usr/lib*/ld*.so.*: /usr/lib/*-linux-*/ld*.so.*: /usr/lib/*-linux-*/libBrokenLocale.so.*: /usr/lib/*-linux-*/libanl.so.*: @@ -15,7 +16,7 @@ slices: /usr/lib/*-linux-*/libdl.so.*: /usr/lib/*-linux-*/libm.so.*: /usr/lib/*-linux-*/libmemusage.so: - /usr/lib/*-linux-*/libmvec.so.*: {arch: [amd64,arm64]} + /usr/lib/*-linux-*/libmvec.so.*: {arch: [amd64, arm64]} /usr/lib/*-linux-*/libnsl.so.1: /usr/lib/*-linux-*/libnss_compat.so.*: /usr/lib/*-linux-*/libnss_dns.so.*: @@ -27,4 +28,3 @@ slices: /usr/lib/*-linux-*/librt.so.*: /usr/lib/*-linux-*/libthread_db.so.*: /usr/lib/*-linux-*/libutil.so.*: - /usr/lib*/ld*.so.*: diff --git a/slices/libpython3.11-stdlib.yaml b/slices/libpython3.11-stdlib.yaml index 39fdfa4db..8aafc9482 100644 --- a/slices/libpython3.11-stdlib.yaml +++ b/slices/libpython3.11-stdlib.yaml @@ -174,8 +174,8 @@ slices: /usr/lib/python3.11/lib-dynload/_testmultiphase.cpython-311-*-linux-*.so: /usr/lib/python3.11/lib-dynload/_xxsubinterpreters.cpython-311-*-linux-*.so: /usr/lib/python3.11/lib-dynload/_xxtestfuzz.cpython-311-*-linux-*.so: - /usr/lib/python3.11/lib-dynload/xxlimited_35.cpython-311-*-linux-*.so: /usr/lib/python3.11/lib-dynload/xxlimited.cpython-311-*-linux-*.so: + /usr/lib/python3.11/lib-dynload/xxlimited_35.cpython-311-*-linux-*.so: /usr/lib/python3.11/test/**: /usr/lib/python3.11/unittest/**: @@ -350,8 +350,8 @@ slices: essential: - libpython3.11-stdlib_core contents: - /usr/lib/python3.11/pydoc_data/**: /usr/lib/python3.11/pydoc.py: + /usr/lib/python3.11/pydoc_data/**: # Text Processing Services # https://docs.python.org/3.11/library/text.html diff --git a/slices/libtinfo6.yaml b/slices/libtinfo6.yaml index fc29c1fe6..de9f86702 100644 --- a/slices/libtinfo6.yaml +++ b/slices/libtinfo6.yaml @@ -5,5 +5,5 @@ slices: essential: - libc6_libs contents: - /usr/lib/*-linux-*/libtinfo.so.6*: /usr/lib/*-linux-*/libtic.so.6*: + /usr/lib/*-linux-*/libtinfo.so.6*: diff --git a/slices/libunwind8.yaml b/slices/libunwind8.yaml index 2cae756f7..e1cc21b11 100644 --- a/slices/libunwind8.yaml +++ b/slices/libunwind8.yaml @@ -6,5 +6,5 @@ slices: - liblzma5_libs contents: /usr/lib/*-linux-*/libunwind-*.so.*: - /usr/lib/*-linux-*/libunwind.so.8.*: /usr/lib/*-linux-*/libunwind.so.8: + /usr/lib/*-linux-*/libunwind.so.8.*: diff --git a/slices/nodejs.yaml b/slices/nodejs.yaml index 9b4b12275..a6ae22c5f 100644 --- a/slices/nodejs.yaml +++ b/slices/nodejs.yaml @@ -4,9 +4,9 @@ slices: bins: essential: - libc6_libs - # libatomic1_libs is a depndency of libnode108_libs that's required only on - # mips* and riscv64, so uncomment its line from libnode108.yaml if you are - # targetting any of those architectures + # libatomic1_libs is a depndency of libnode108_libs that's required only + # on mips* and riscv64, so uncomment its line from libnode108.yaml if you + # are targetting any of those architectures - libnode108_libs contents: /usr/bin/js: {symlink: /usr/bin/nodejs} diff --git a/slices/openssl.yaml b/slices/openssl.yaml index 7a9cb1b60..9899cef5d 100644 --- a/slices/openssl.yaml +++ b/slices/openssl.yaml @@ -3,8 +3,8 @@ package: openssl slices: bins: essential: - - libc6_libs - libc6_config + - libc6_libs - libssl3_libs - openssl_config - openssl_data diff --git a/slices/python3.11.yaml b/slices/python3.11.yaml index da9b597ac..54459d28b 100644 --- a/slices/python3.11.yaml +++ b/slices/python3.11.yaml @@ -5,9 +5,9 @@ slices: # It includes very few modules from the libpython3.11-stdlib package. core: essential: - - python3.11-minimal_bins - libpython3.11-stdlib_core - media-types_data + - python3.11-minimal_bins # The "standard" slice extends "core" with all the Python # modules from the libpython3.11-stdlib package. diff --git a/slices/tzdata.yaml b/slices/tzdata.yaml index a21fce3f1..6e4131f5e 100644 --- a/slices/tzdata.yaml +++ b/slices/tzdata.yaml @@ -1,9 +1,10 @@ package: tzdata slices: - # The "base" slice contains Canonical timezone abbreviations. These are primary, - # preferred zone names that are often used as abbreviations for location-specific - # timezones across the globe. Example: Europe/Sofia observes EET. + # The "base" slice contains Canonical timezone abbreviations. These are + # primary, preferred zone names that are often used as abbreviations for + # location-specific timezones across the globe. Example: Europe/Sofia + # observes EET. base: contents: /usr/share/zoneinfo/CET: @@ -13,16 +14,16 @@ slices: /usr/share/zoneinfo/EST5EDT: /usr/share/zoneinfo/Factory: /usr/share/zoneinfo/HST: - /usr/share/zoneinfo/iso3166.tab: - /usr/share/zoneinfo/leap-seconds.list: - /usr/share/zoneinfo/leapseconds: - /usr/share/zoneinfo/localtime: /usr/share/zoneinfo/MET: /usr/share/zoneinfo/MST: /usr/share/zoneinfo/MST7MDT: /usr/share/zoneinfo/PST8PDT: - /usr/share/zoneinfo/tzdata.zi: /usr/share/zoneinfo/WET: + /usr/share/zoneinfo/iso3166.tab: + /usr/share/zoneinfo/leap-seconds.list: + /usr/share/zoneinfo/leapseconds: + /usr/share/zoneinfo/localtime: + /usr/share/zoneinfo/tzdata.zi: africa: essential: @@ -71,10 +72,10 @@ slices: /usr/share/zoneinfo/zone1970.tab: /usr/share/zoneinfo/zonenow.tab: - # "Etc" is meant to provide "timezones" that don't fit with the standard timezones. - # As an example, UTC isn't actually a timezone, but a standard. Like Zulu and others, - # most of these can be used for time information, but derive from different domains - # (like the military). Same for others. + # "Etc" is meant to provide "timezones" that don't fit with the standard + # timezones. As an example, UTC isn't actually a timezone, but a standard. + # Like Zulu and others, most of these can be used for time information, but + # derive from different domains (like the military). Same for others. etc: contents: /usr/share/zoneinfo/Etc/**: