diff --git a/chisel.yaml b/chisel.yaml index d5aa55478..dc4ee8a97 100644 --- a/chisel.yaml +++ b/chisel.yaml @@ -1,13 +1,34 @@ format: v1 archives: + # archive.ubuntu.com/ubuntu/ (amd64, i386) + # ports.ubuntu.com/ubuntu-ports/ (other arch) ubuntu: - default: true + priority: 10 version: 24.04 components: [main, universe] suites: [noble, noble-security, noble-updates] public-keys: [ubuntu-archive-key-2018] +v2-archives: + # esm.ubuntu.com/apps/ubuntu/ + ubuntu-esm-apps: + pro: esm-apps + priority: 16 + version: 24.04 + components: [main] + suites: [noble-apps-security, noble-apps-updates] + public-keys: [ubuntu-apps-key] + + # esm.ubuntu.com/infra/ubuntu/ + ubuntu-esm-infra: + pro: esm-infra + priority: 15 + version: 24.04 + components: [main] + suites: [noble-infra-security, noble-infra-updates] + public-keys: [ubuntu-esm-key-v2] + public-keys: # Ubuntu Archive Automatic Signing Key (2018) # rsa4096/f6ecb3762474eda9d21b7022871920d1991bc93c 2018-09-17T15:01:46Z @@ -43,3 +64,73 @@ public-keys: uOgcXny1UlwtCUzlrSaP =9AdM -----END PGP PUBLIC KEY BLOCK----- + + # Ubuntu Apps Automatic Signing Key . + # rsa4096/e8a443ce358113d187bee0e6ab01a101db53907b 2019-11-21T09:08:30Z + ubuntu-apps-key: + id: "AB01A101DB53907B" + armor: | + -----BEGIN PGP PUBLIC KEY BLOCK----- + + mQINBF3WVA4BEAC7MDr8HClfKptSd4VeB12Vy+Ao/4NpY2ITdkRed4vfh/4eBWWn + 3+in6So2ekweifACSxScB/M9zVObsI1cab7QPMkIiATNUfIyOEP7iNWLX4+AytM1 + LP3bZo8OpghnLZNstCGbiRUO4CDNmCI04DOPCu9EVEO4WWNuWIMRwCLShDSf7Cid + J2fn2TT/7vsmA4eI3YnAne+u8g4X2zMHQFkHANhylB0lPyThXo5jaxHImzm4wf/2 + LF8f1Y1nRQObS2jcvYc3fm9B7iOGpyNAw3h6hrPKH5T9tY/ZoMtFHqn66J1CBSHb + hDkEvA46X50su4yAHeSiEG/hMYG7SoHzmAsjEXnvkTIE41WhmxlidQnRs2uWy34U + 7VmOpaidWn3R99fNHYOtSOB6bpIvls8snWSQ63jcFXnt05nVZsp/Ixzl0Oqitynx + DFwoxEwt3ZuCHwxbx2vZ+FiZXVFN7I0IyBDOEL6XS27FNaMCZ7Q/6z/ckdWto55E + 264OWf9lnw31bXFXHWSusRXWzD6FK8dqWgjtrWwRxlvF4jm688lqpjac6fFES3UK + BhjyHXFGL/+HHZ9CNxlLYF5QnXq1mGR0Ykw975u8KoOFSLBqsx+1a21m6dfzujY7 + 2Gq6Sju+9Yo1aOF+CNvTMYdRBoDL4sFj6VAmUsszMA5aAb+82pOCaDvGJQARAQAB + tDVVYnVudHUgQXBwcyBBdXRvbWF0aWMgU2lnbmluZyBLZXkgPGVzbUBjYW5vbmlj + YWwuY29tPokCOAQTAQIAIgUCXdZUDgIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgEC + F4AACgkQqwGhAdtTkHuTOw/8Czv42TSpwHz+eNtl3ZFyxta9rR/qWC3h+vMu0R/l + 5KU3aQQOygWOoUcr1QTPSSg3v/H+v/8vqVq2UuUxSIfpMxBj2kIX2vqskv6Roez7 + xR8lVDa0a47z/NYMfKpxrEJxOLh/c7I6aAsa597bTqDHtucHL/22BvfUJJqw6jq1 + 7SswP5lqKPBFz7x+E2hgfJE7Vn7h0ICm29FkWnOeTKfj8VwTAeKXKUI9Hw6+aqr9 + 29Y2NdLsYZ57mpivRLNM9sBZoF3avP1pUC2k0IwP3dwh4AxUMXjRRPh173iXBfR2 + yAf1lWET/5+8dSBrfFIZSo+FF/EEBmqIVtJpHkq8+YxUbCLbkoikRi2kwrgyXLEn + FqxSU2Ab0xurFHiHcJoCGVD38xjznO5cQl7H4K9+B/rFpTTowOHbOcFpKAzpYqB5 + 8rnR1yRSsB33zac8xesUIfzYWRtLc5/VIb5mOkWlb62d8emILx2XuRFVjKq6mKki + oGckhDUOuEFrjW1cQq+PWBBxyJoXcy6wGSoPJ/ELeaf9zg8SF0jwuN6BPHVBeJ/E + W53zR5iV0N9fRT+M2JN5tc5HenO92xLgPAh+GPWLYmPdTmHu+kFozqsHx/NUw2iP + PBL6Q1VZytt2Uf6qLPUx7GpYMKf42Vldb0feFo/YA/lzOgPlY29pDLKXbse6o+Sr + kmk= + =AEEr + -----END PGP PUBLIC KEY BLOCK----- + + # Ubuntu Extended Security Maintenance Automatic Signing Key v2 . + # rsa4096/56f7650a24c9e9ecf87c4d8d4067e40313cb4b13 2019-04-17T02:33:33Z + ubuntu-esm-key-v2: + id: "4067E40313CB4B13" + armor: | + -----BEGIN PGP PUBLIC KEY BLOCK----- + + mQINBFy2kH0BEADl/2e2pULZaSRovd3E1i1cVk3zebzndHZm/hK8/Srx69ivw3pY + 680gFE/N3s3R/C5Jh9ThdD1zpGmxVdqcABSPmW1FczdFZY2E37HMH7Uijs4CsnFs + 8nrNGQaqX/T1g2fQqjia3zkabMeehUEZC5GPYjpeeFW6Wy1O1A1Tzu7/Wjc+uF/t + YYe/ZPXea74QZphu/N+8dy/ts/IzL2VtXuxiegGLfBFqzgZuBmlxXHVhftKvcis9 + t2ko65uVyDcLtItMhSJokKBsIYJliqOXjUbQf5dz8vLXkku94arBMgsxDWT4K/xI + OTsaI/GMlSIKQ6Ucd/GKrBEsy5O8RDtD9A2klV7YeEwPEgqL+RhpdxAs/xUeTOZG + JKwuvlBjzIhJF9bIfbyzx7DdcGFqRE+a8eBIUMQjVkt9Yk7jj0eV3oVTE7XNhb53 + rHuPL+zJVkiharxiTgYvkow3Nlbg3oURx9Ln67ni9pUtI1HbortGZsAkyOcpep58 + K9cYvUePJWzjkY+bjcGKR19CWPl7KaUalIf2Tao5OwtqjrblTsXdtV7eG45ys0MT + Kl/DeqTJ0w6+i4eq4ZUfOCL/DIwS5zUB9j1KMUgEfocjYIdHWI8TSrA8jLYNPbVE + 6+WjekHMB9liNrEQoESWBddS+bglPxuVwy2paGTUYJW1GnRZOTD+CG4ETQARAQAB + tFFVYnVudHUgRXh0ZW5kZWQgU2VjdXJpdHkgTWFpbnRlbmFuY2UgQXV0b21hdGlj + IFNpZ25pbmcgS2V5IHYyIDxlc21AY2Fub25pY2FsLmNvbT6JAjgEEwECACIFAly2 + kH0CGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEEBn5AMTy0sTo/8QAJ1C + NhAkZ+Xq/BZ8UzAFCQn6GlIYg/ueY216xcQdDX1uN8hNOlPTNmftroIvohFAfFtB + m5galzY3DBPU8eZr8Y8XgiGD97wkR4zfhfh1EK/6diMG/HG00kdcWquFXMRB7E7S + nDTpyuPfkAzm9n6l69UB3UA53CaEUuVJ7qFfZsWgiQeUJpvqD0MIVsWr+T/paSx7 + 1JE9BVatFefq0egErv1sa2uYgcH9TRZMLw6gYxWtXeGA08Cpp0+OEvIzmJOHo5/F + EpJ3hGk87Of77BC7FbqSDpeYkcjnlI2i0QAxxFygKhPOMLuA4XVn3TDuqCgTFIFC + puupzIX/Up51FJmo64V9GZ/uF0jZy4tDxsCRJnEV+4Kv2sU5uMlmNchZMBjXYGiG + tpH9CqJkSZjFvB6bk+Ot98KI6+CuNWn1N0sXFKpEUGdJLuOKfJ9+xI5plo8Bct5C + DM9s4l0IuAPCsyayXrSmlyOAHzxDUeRMCEUnXWfycCUyqdyYIcCMPLV44Ccg9NyS + 89dEauSCPuyCSxm5UYEHQdsSI/+rxRdS9IzoKs4za2L7fhY8PfdPlmghmXc/chz1 + RtgjPfAsUHUPRr0h//TzxRm5dbYdUyqMPzZcDO8wYBT/4xrwnFkSHZhnVxpw7PDi + JYK4SVVc4ZO20PE1+RZc5oSbt4hRbFTCSb31Pydc + =KWLs + -----END PGP PUBLIC KEY BLOCK----- diff --git a/slices/coreutils.yaml b/slices/coreutils.yaml index 38b819b98..cb00c1b61 100644 --- a/slices/coreutils.yaml +++ b/slices/coreutils.yaml @@ -12,6 +12,7 @@ slices: bins: essential: + - coreutils_env - coreutils_expr - coreutils_libs - coreutils_mkdir @@ -49,7 +50,6 @@ slices: /usr/bin/dirname: /usr/bin/du: /usr/bin/echo: - /usr/bin/env: /usr/bin/expand: /usr/bin/factor: /usr/bin/false: @@ -129,6 +129,12 @@ slices: /usr/bin/yes: /usr/sbin/chroot: + env: + essential: + - libc6_libs + contents: + /usr/bin/env: + expr: essential: - libc6_libs diff --git a/slices/erlang-asn1.yaml b/slices/erlang-asn1.yaml new file mode 100644 index 000000000..efe9910a6 --- /dev/null +++ b/slices/erlang-asn1.yaml @@ -0,0 +1,22 @@ +package: erlang-asn1 + +essential: + - erlang-asn1_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/erlang/lib/asn1-*/priv/**: + + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/asn1-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-asn1/copyright: diff --git a/slices/erlang-base.yaml b/slices/erlang-base.yaml new file mode 100644 index 000000000..ab093fa53 --- /dev/null +++ b/slices/erlang-base.yaml @@ -0,0 +1,44 @@ +package: erlang-base + +essential: + - erlang-base_copyright + +slices: + bins: + essential: + - bash_bins + - coreutils_env + - erlang-base_modules + - libc6_libs + - libgcc-s1_libs + - libstdc++6_libs + - libsystemd0_libs + - libtinfo6_libs + - zlib1g_libs + contents: + /usr/bin/epmd: + /usr/bin/erl: + /usr/bin/erl_call: + /usr/bin/erlc: + /usr/bin/escript: + /usr/bin/run_erl: + /usr/bin/start_embedded: + /usr/bin/to_erl: + /usr/lib/erlang/bin/**: + /usr/lib/erlang/erts-*/bin/**: + /usr/lib/erlang/lib/erl_interface-*/bin/erl_call: + + modules: + contents: + /usr/lib/erlang/lib/compiler-*/ebin/**: + /usr/lib/erlang/lib/erts-*/ebin/**: + /usr/lib/erlang/lib/kernel-*/ebin/**: + /usr/lib/erlang/lib/kernel-*/include/**: + /usr/lib/erlang/lib/sasl-*/ebin/**: + /usr/lib/erlang/lib/stdlib-*/ebin/**: + /usr/lib/erlang/lib/stdlib-*/include/**: + /usr/lib/erlang/releases/**: + + copyright: + contents: + /usr/share/doc/erlang-base/copyright: diff --git a/slices/erlang-crypto.yaml b/slices/erlang-crypto.yaml new file mode 100644 index 000000000..c6b51ff94 --- /dev/null +++ b/slices/erlang-crypto.yaml @@ -0,0 +1,23 @@ +package: erlang-crypto + +essential: + - erlang-crypto_copyright + +slices: + libs: + essential: + - libc6_libs + - libssl3t64_libs + contents: + /usr/lib/erlang/lib/crypto-*/priv/lib/**: + + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/crypto-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-crypto/copyright: diff --git a/slices/erlang-eldap.yaml b/slices/erlang-eldap.yaml new file mode 100644 index 000000000..eb60d367d --- /dev/null +++ b/slices/erlang-eldap.yaml @@ -0,0 +1,19 @@ +package: erlang-eldap + +essential: + - erlang-eldap_copyright + +slices: + modules: + essential: + - erlang-asn1_libs + - erlang-asn1_modules + - erlang-base_bins + - erlang-base_modules + - erlang-ssl_modules + contents: + /usr/lib/erlang/lib/eldap-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-eldap/copyright: diff --git a/slices/erlang-ftp.yaml b/slices/erlang-ftp.yaml new file mode 100644 index 000000000..5542bf431 --- /dev/null +++ b/slices/erlang-ftp.yaml @@ -0,0 +1,19 @@ +package: erlang-ftp + +essential: + - erlang-ftp_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-runtime-tools_libs + - erlang-runtime-tools_modules + - erlang-ssl_modules + contents: + /usr/lib/erlang/lib/ftp-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-ftp/copyright: diff --git a/slices/erlang-inets.yaml b/slices/erlang-inets.yaml new file mode 100644 index 000000000..dbaf0072a --- /dev/null +++ b/slices/erlang-inets.yaml @@ -0,0 +1,27 @@ +package: erlang-inets + +essential: + - erlang-inets_copyright + +slices: + scripts: + contents: + /usr/lib/erlang/lib/inets-*/priv/bin/runcgi.sh: + + modules: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-ftp_modules + - erlang-mnesia_modules + - erlang-runtime-tools_libs + - erlang-runtime-tools_modules + - erlang-ssl_modules + - erlang-tftp_modules + contents: + /usr/lib/erlang/lib/inets-*/ebin/**: + /usr/lib/erlang/lib/inets-*/include/**: + + copyright: + contents: + /usr/share/doc/erlang-inets/copyright: diff --git a/slices/erlang-mnesia.yaml b/slices/erlang-mnesia.yaml new file mode 100644 index 000000000..7a4d2d009 --- /dev/null +++ b/slices/erlang-mnesia.yaml @@ -0,0 +1,16 @@ +package: erlang-mnesia + +essential: + - erlang-mnesia_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/mnesia-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-mnesia/copyright: diff --git a/slices/erlang-os-mon.yaml b/slices/erlang-os-mon.yaml new file mode 100644 index 000000000..67aba2b96 --- /dev/null +++ b/slices/erlang-os-mon.yaml @@ -0,0 +1,25 @@ +package: erlang-os-mon + +essential: + - erlang-os-mon_copyright + +slices: + bins: + essential: + - erlang-os-mon_modules + contents: + /usr/lib/erlang/lib/os_mon-*/priv/**: + + modules: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-mnesia_modules + - erlang-snmp_bins + - libc6_libs + contents: + /usr/lib/erlang/lib/os_mon-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-os-mon/copyright: diff --git a/slices/erlang-parsetools.yaml b/slices/erlang-parsetools.yaml new file mode 100644 index 000000000..0e54a331d --- /dev/null +++ b/slices/erlang-parsetools.yaml @@ -0,0 +1,16 @@ +package: erlang-parsetools + +essential: + - erlang-parsetools_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/parsetools-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-parsetools/copyright: diff --git a/slices/erlang-public-key.yaml b/slices/erlang-public-key.yaml new file mode 100644 index 000000000..143e72ac0 --- /dev/null +++ b/slices/erlang-public-key.yaml @@ -0,0 +1,20 @@ +package: erlang-public-key + +essential: + - erlang-public-key_copyright + +slices: + modules: + essential: + - erlang-asn1_libs + - erlang-asn1_modules + - erlang-base_bins + - erlang-base_modules + - erlang-crypto_libs + - erlang-crypto_modules + contents: + /usr/lib/erlang/lib/public_key-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-public-key/copyright: diff --git a/slices/erlang-runtime-tools.yaml b/slices/erlang-runtime-tools.yaml new file mode 100644 index 000000000..713f2f0f1 --- /dev/null +++ b/slices/erlang-runtime-tools.yaml @@ -0,0 +1,23 @@ +package: erlang-runtime-tools + +essential: + - erlang-runtime-tools_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/erlang/lib/runtime_tools-*/priv/**: + + modules: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-mnesia_modules + contents: + /usr/lib/erlang/lib/runtime_tools-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-runtime-tools/copyright: diff --git a/slices/erlang-snmp.yaml b/slices/erlang-snmp.yaml new file mode 100644 index 000000000..c1fffcc89 --- /dev/null +++ b/slices/erlang-snmp.yaml @@ -0,0 +1,39 @@ +package: erlang-snmp + +essential: + - erlang-snmp_copyright + +slices: + bins: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-crypto_libs + - erlang-crypto_modules + - erlang-mnesia_modules + - erlang-runtime-tools_libs + - erlang-runtime-tools_modules + - erlang-snmp_config + - erlang-snmp_data + - erlang-snmp_modules + contents: + /usr/bin/snmpc: + /usr/lib/erlang/lib/snmp-*/bin/snmpc: + + config: + contents: + /usr/lib/erlang/lib/snmp-*/priv/conf/**: + + data: + contents: + /usr/lib/erlang/lib/snmp-*/mibs/**: + /usr/lib/erlang/lib/snmp-*/priv/mibs/**: + + modules: + contents: + /usr/lib/erlang/lib/snmp-*/ebin/**: + /usr/lib/erlang/lib/snmp-*/include/**: + + copyright: + contents: + /usr/share/doc/erlang-snmp/copyright: diff --git a/slices/erlang-ssl.yaml b/slices/erlang-ssl.yaml new file mode 100644 index 000000000..6cffbb6a9 --- /dev/null +++ b/slices/erlang-ssl.yaml @@ -0,0 +1,21 @@ +package: erlang-ssl + +essential: + - erlang-ssl_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-crypto_libs + - erlang-crypto_modules + - erlang-public-key_modules + - erlang-runtime-tools_libs + - erlang-runtime-tools_modules + contents: + /usr/lib/erlang/lib/ssl-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-ssl/copyright: diff --git a/slices/erlang-syntax-tools.yaml b/slices/erlang-syntax-tools.yaml new file mode 100644 index 000000000..4cead1b27 --- /dev/null +++ b/slices/erlang-syntax-tools.yaml @@ -0,0 +1,17 @@ +package: erlang-syntax-tools + +essential: + - erlang-syntax-tools_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/syntax_tools-*/ebin/**: + /usr/lib/erlang/lib/syntax_tools-*/include/**: + + copyright: + contents: + /usr/share/doc/erlang-syntax-tools/copyright: diff --git a/slices/erlang-tftp.yaml b/slices/erlang-tftp.yaml new file mode 100644 index 000000000..8b7cca934 --- /dev/null +++ b/slices/erlang-tftp.yaml @@ -0,0 +1,16 @@ +package: erlang-tftp + +essential: + - erlang-tftp_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/tftp-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-tftp/copyright: diff --git a/slices/erlang-tools.yaml b/slices/erlang-tools.yaml new file mode 100644 index 000000000..d3af0cb43 --- /dev/null +++ b/slices/erlang-tools.yaml @@ -0,0 +1,23 @@ +package: erlang-tools + +essential: + - erlang-tools_copyright + +slices: + emacs-plugins: + contents: + /usr/lib/erlang/lib/tools-*/emacs/**: + + modules: + essential: + - erlang-base_bins + - erlang-base_modules + - erlang-runtime-tools_libs + - erlang-runtime-tools_modules + contents: + /usr/lib/erlang/lib/tools-*/ebin/**: + /usr/lib/erlang/lib/tools-*/priv/**: + + copyright: + contents: + /usr/share/doc/erlang-tools/copyright: diff --git a/slices/erlang-xmerl.yaml b/slices/erlang-xmerl.yaml new file mode 100644 index 000000000..f41bc82f8 --- /dev/null +++ b/slices/erlang-xmerl.yaml @@ -0,0 +1,16 @@ +package: erlang-xmerl + +essential: + - erlang-xmerl_copyright + +slices: + modules: + essential: + - erlang-base_bins + - erlang-base_modules + contents: + /usr/lib/erlang/lib/xmerl-*/ebin/**: + + copyright: + contents: + /usr/share/doc/erlang-xmerl/copyright: diff --git a/slices/fontconfig-config.yaml b/slices/fontconfig-config.yaml index b74fdb7f1..914d95427 100644 --- a/slices/fontconfig-config.yaml +++ b/slices/fontconfig-config.yaml @@ -31,13 +31,30 @@ slices: /etc/fonts/conf.d/80-delicious.conf: /etc/fonts/conf.d/90-synthetic.conf: /etc/fonts/fonts.conf: + /usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf: + /usr/share/fontconfig/conf.avail/09-autohint-if-no-hinting.conf: + /usr/share/fontconfig/conf.avail/10-autohint.conf: + /usr/share/fontconfig/conf.avail/10-hinting-full.conf: + /usr/share/fontconfig/conf.avail/10-hinting-medium.conf: + /usr/share/fontconfig/conf.avail/10-hinting-none.conf: /usr/share/fontconfig/conf.avail/10-hinting-slight.conf: + /usr/share/fontconfig/conf.avail/10-no-antialias.conf: /usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf: + /usr/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf: + /usr/share/fontconfig/conf.avail/10-sub-pixel-none.conf: /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf: + /usr/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf: + /usr/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf: + /usr/share/fontconfig/conf.avail/10-unhinted.conf: /usr/share/fontconfig/conf.avail/10-yes-antialias.conf: /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf: + /usr/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf: + /usr/share/fontconfig/conf.avail/11-lcdfilter-light.conf: + /usr/share/fontconfig/conf.avail/11-lcdfilter-none.conf: /usr/share/fontconfig/conf.avail/20-unhint-small-vera.conf: + /usr/share/fontconfig/conf.avail/25-unhint-nonlatin.conf: /usr/share/fontconfig/conf.avail/30-metric-aliases.conf: + /usr/share/fontconfig/conf.avail/35-lang-normalize.conf: /usr/share/fontconfig/conf.avail/40-nonlatin.conf: /usr/share/fontconfig/conf.avail/45-generic.conf: /usr/share/fontconfig/conf.avail/45-latin.conf: @@ -45,12 +62,18 @@ slices: /usr/share/fontconfig/conf.avail/49-sansserif.conf: /usr/share/fontconfig/conf.avail/50-user.conf: /usr/share/fontconfig/conf.avail/51-local.conf: + /usr/share/fontconfig/conf.avail/53-monospace-lcd-filter.conf: /usr/share/fontconfig/conf.avail/60-generic.conf: /usr/share/fontconfig/conf.avail/60-latin.conf: /usr/share/fontconfig/conf.avail/65-fonts-persian.conf: + /usr/share/fontconfig/conf.avail/65-khmer.conf: /usr/share/fontconfig/conf.avail/65-nonlatin.conf: /usr/share/fontconfig/conf.avail/69-unifont.conf: + /usr/share/fontconfig/conf.avail/70-force-bitmaps.conf: + /usr/share/fontconfig/conf.avail/70-no-bitmaps-and-emoji.conf: /usr/share/fontconfig/conf.avail/70-no-bitmaps-except-emoji.conf: + /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf: + /usr/share/fontconfig/conf.avail/70-yes-bitmaps.conf: /usr/share/fontconfig/conf.avail/80-delicious.conf: /usr/share/fontconfig/conf.avail/90-synthetic.conf: /usr/share/xml/fontconfig/fonts.dtd: diff --git a/slices/fonts-croscore.yaml b/slices/fonts-croscore.yaml new file mode 100644 index 000000000..de4294081 --- /dev/null +++ b/slices/fonts-croscore.yaml @@ -0,0 +1,13 @@ +package: fonts-croscore + +essential: + - fonts-croscore_copyright + +slices: + fonts: + contents: + /usr/share/fonts/truetype/croscore/*: + + copyright: + contents: + /usr/share/doc/fonts-croscore/copyright: diff --git a/slices/fonts-dejavu-core.yaml b/slices/fonts-dejavu-core.yaml index 02fc6dcf5..00586de52 100644 --- a/slices/fonts-dejavu-core.yaml +++ b/slices/fonts-dejavu-core.yaml @@ -5,6 +5,8 @@ essential: slices: fonts: + essential: + - fonts-dejavu-mono_fonts contents: /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: diff --git a/slices/fonts-freefont-otf.yaml b/slices/fonts-freefont-otf.yaml new file mode 100644 index 000000000..430f0b8c4 --- /dev/null +++ b/slices/fonts-freefont-otf.yaml @@ -0,0 +1,13 @@ +package: fonts-freefont-otf + +essential: + - fonts-freefont-otf_copyright + +slices: + fonts: + contents: + /usr/share/fonts/opentype/freefont/*: + + copyright: + contents: + /usr/share/doc/fonts-freefont-otf/copyright: diff --git a/slices/fonts-freefont-ttf.yaml b/slices/fonts-freefont-ttf.yaml new file mode 100644 index 000000000..8b5c61bee --- /dev/null +++ b/slices/fonts-freefont-ttf.yaml @@ -0,0 +1,13 @@ +package: fonts-freefont-ttf + +essential: + - fonts-freefont-ttf_copyright + +slices: + fonts: + contents: + /usr/share/fonts/truetype/freefont/*: + + copyright: + contents: + /usr/share/doc/fonts-freefont-ttf/copyright: diff --git a/slices/fonts-liberation.yaml b/slices/fonts-liberation.yaml new file mode 100644 index 000000000..153be7a48 --- /dev/null +++ b/slices/fonts-liberation.yaml @@ -0,0 +1,24 @@ +package: fonts-liberation + +essential: + - fonts-liberation_copyright + +slices: + fonts: + contents: + /usr/share/fonts/truetype/liberation/LiberationMono-Bold.ttf: + /usr/share/fonts/truetype/liberation/LiberationMono-BoldItalic.ttf: + /usr/share/fonts/truetype/liberation/LiberationMono-Italic.ttf: + /usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf: + /usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf: + /usr/share/fonts/truetype/liberation/LiberationSans-BoldItalic.ttf: + /usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf: + /usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf: + /usr/share/fonts/truetype/liberation/LiberationSerif-Bold.ttf: + /usr/share/fonts/truetype/liberation/LiberationSerif-BoldItalic.ttf: + /usr/share/fonts/truetype/liberation/LiberationSerif-Italic.ttf: + /usr/share/fonts/truetype/liberation/LiberationSerif-Regular.ttf: + + copyright: + contents: + /usr/share/doc/fonts-liberation/copyright: diff --git a/slices/fonts-noto-core.yaml b/slices/fonts-noto-core.yaml new file mode 100644 index 000000000..1df6498ce --- /dev/null +++ b/slices/fonts-noto-core.yaml @@ -0,0 +1,210 @@ +package: fonts-noto-core + +essential: + - fonts-noto-core_copyright + +slices: + fonts: + essential: + - fonts-noto-mono_fonts + contents: + /usr/share/fonts/truetype/noto/NotoKufiArabic-*.ttf: + /usr/share/fonts/truetype/noto/NotoLoopedLao-*.ttf: + /usr/share/fonts/truetype/noto/NotoLoopedThai-*.ttf: + /usr/share/fonts/truetype/noto/NotoMusic-*.ttf: + /usr/share/fonts/truetype/noto/NotoNaskhArabic-*.ttf: + /usr/share/fonts/truetype/noto/NotoNastaliqUrdu-*.ttf: + /usr/share/fonts/truetype/noto/NotoRashiHebrew-*.ttf: + /usr/share/fonts/truetype/noto/NotoSans-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansAdlam-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansAdlamUnjoined-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansAnatolianHieroglyphs-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansArabic-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansArmenian-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansAvestan-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansBalinese-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansBamum-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansBassaVah-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansBatak-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansBengali-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansBhaiksuki-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansBrahmi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansBuginese-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansBuhid-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansCanadianAboriginal-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansCarian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansCaucasianAlbanian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansChakma-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansCham-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansCherokee-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansCoptic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansCuneiform-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansCypriot-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansDevanagari-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansDisplay-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansDuployan-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansEgyptianHieroglyphs-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansElbasan-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansElymaic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansEthiopic-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansGeorgian-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansGlagolitic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansGothic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansGrantha-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansGujarati-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansGunjalaGondi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansGurmukhi-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansHanifiRohingya-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansHanunoo-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansHatran-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansImperialAramaic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansIndicSiyaqNumbers-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansInscriptionalPahlavi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansInscriptionalParthian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansJavanese-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansKaithi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansKannada-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansKayahLi-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansKharoshthi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansKhmer-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansKhojki-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansKhudawadi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansLao-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansLepcha-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansLimbu-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansLinearA-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansLinearB-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansLisu-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansLycian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansLydian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMahajani-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMalayalam-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansMandaic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansManichaean-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMarchen-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMasaramGondi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMath-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMayanNumerals-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMedefaidrin-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansMeeteiMayek-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansMendeKikakui-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMeroitic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMiao-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansModi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMongolian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMro-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMultani-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMyanmar-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansNKo-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansNabataean-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansNewTaiLue-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansNewa-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansNushu-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOgham-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOlChiki-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldHungarian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldItalic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldNorthArabian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldPermic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldPersian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldSogdian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldSouthArabian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOldTurkic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOriya-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansOsage-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansOsmanya-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansPahawhHmong-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansPalmyrene-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansPauCinHau-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansPhagsPa-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansPhoenician-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansPsalterPahlavi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansRejang-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansRunic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSamaritan-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSaurashtra-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSharada-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansShavian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSiddham-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSignWriting-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSinhala-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansSogdian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSoraSompeng-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansSoyombo-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSundanese-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansSylotiNagri-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSymbols-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansSyriac-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTagalog-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTagbanwa-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTaiLe-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTaiTham-Bold.ttf: + /usr/share/fonts/truetype/noto/NotoSansTaiTham-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTaiViet-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTakri-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTamil-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansTamilSupplement-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTelugu-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansThaana-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansThai-*.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinagh-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghAPT-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghAdrar-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghAgrawImazighen-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghAhaggar-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghAir-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghAzawagh-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghGhat-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghHawad-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghRhissaIxa-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghSIL-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTifinaghTawellemmet-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansTirhuta-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansUgaritic-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansVai-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansWancho-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansWarangCiti-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansYi-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansZanabazarSquare-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerif-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifAhom-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerifArmenian-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifBalinese-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerifBengali-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifDevanagari-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifDisplay-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifDogra-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerifEthiopic-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifGeorgian-Bold.ttf: + /usr/share/fonts/truetype/noto/NotoSerifGeorgian-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerifGrantha-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerifGujarati-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifGurmukhi-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifHebrew-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifKannada-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifKhmer-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifKhojki-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifLao-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifMalayalam-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifMyanmar-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifNyiakengPuachueHmong-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifSinhala-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifTamil-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifTamilSlanted-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifTangut-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSerifTelugu-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifThai-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifTibetan-*.ttf: + /usr/share/fonts/truetype/noto/NotoSerifYezidi-*.ttf: + /usr/share/fonts/truetype/noto/NotoTraditionalNushu-Regular.ttf: + + config: + essential: + - fonts-noto-mono_config + contents: + /etc/fonts/conf.avail/30-droid-noto.conf: + + copyright: + contents: + /usr/share/doc/fonts-noto-core/copyright: diff --git a/slices/fonts-noto-mono.yaml b/slices/fonts-noto-mono.yaml new file mode 100644 index 000000000..bf79493ec --- /dev/null +++ b/slices/fonts-noto-mono.yaml @@ -0,0 +1,19 @@ +package: fonts-noto-mono + +essential: + - fonts-noto-mono_copyright + +slices: + fonts: + contents: + /usr/share/fonts/truetype/noto/NotoMono-Regular.ttf: + /usr/share/fonts/truetype/noto/NotoSansMono-Bold.ttf: + /usr/share/fonts/truetype/noto/NotoSansMono-Regular.ttf: + + config: + contents: + /etc/fonts/conf.avail/30-droid-noto-mono.conf: + + copyright: + contents: + /usr/share/doc/fonts-noto-mono/copyright: diff --git a/slices/fonts-texgyre.yaml b/slices/fonts-texgyre.yaml new file mode 100644 index 000000000..e41fa3872 --- /dev/null +++ b/slices/fonts-texgyre.yaml @@ -0,0 +1,18 @@ +package: fonts-texgyre + +essential: + - fonts-texgyre_copyright + +slices: + fonts: + contents: + /usr/share/texmf/fonts/opentype/public/tex-gyre/*: + + config: + contents: + /etc/fonts/conf.avail/65-fonts-texgyre.conf: + /etc/fonts/conf.d/65-fonts-texgyre.conf: + + copyright: + contents: + /usr/share/doc/fonts-texgyre/copyright: diff --git a/slices/fonts-urw-base35.yaml b/slices/fonts-urw-base35.yaml new file mode 100644 index 000000000..4d74cc816 --- /dev/null +++ b/slices/fonts-urw-base35.yaml @@ -0,0 +1,21 @@ +package: fonts-urw-base35 + +essential: + - fonts-urw-base35_copyright + +slices: + config: + contents: + /etc/fonts/conf.d/61-urw-*.conf: + /usr/share/fontconfig/conf.avail/urw-*.conf: + + fonts: + contents: + /etc/X11/fonts/Type1/fonts-urw-base35*: + /usr/share/fonts/X11/Type1/*.pfb: + /usr/share/fonts/opentype/urw-base35/*.otf: + /usr/share/fonts/type1/urw-base35/*: + + copyright: + contents: + /usr/share/doc/fonts-urw-base35/copyright: diff --git a/slices/git.yaml b/slices/git.yaml new file mode 100644 index 000000000..8d69e074a --- /dev/null +++ b/slices/git.yaml @@ -0,0 +1,59 @@ +package: git + +essential: + - git_copyright + +slices: + bins: + # Basic functionality including: + # - add + # - blame + # - branch + # - checkout + # - commit + # - config + # - diff + # - fetch + # - init + # - log + # - merge + # - rev-list + # - status + essential: + - libc6_libs + - libpcre2-8-0_libs + - zlib1g_libs + contents: + # /usr/bin/git is a regular file in the package, but shares + # the same hash of /usr/lib/git-core/git. That's why this + # is added as a symlink to reduce space. + /usr/bin/git: { symlink: /usr/lib/git-core/git } + /usr/lib/git-core/git: + + daemon: + # Adds support for cloning over git daemon + essential: + - git_bins + contents: + /usr/lib/git-core/git-daemon: + + http-support: + # Adds support for cloning over HTTP e.g. git clone https://... + essential: + - git_bins + - libcurl3t64-gnutls_libs + - libexpat1_libs + contents: + /usr/lib/git-core/git-remote-http: + /usr/lib/git-core/git-remote-https: # link pointing to git-remote-http + + ftp-support: + # Adds support for cloning over FTP e.g. git clone ftp://... + essential: + - git_http-support + contents: + /usr/lib/git-core/git-remote-ftp: + + copyright: + contents: + /usr/share/doc/git/copyright: diff --git a/slices/gosu.yaml b/slices/gosu.yaml new file mode 100644 index 000000000..91939ebc3 --- /dev/null +++ b/slices/gosu.yaml @@ -0,0 +1,13 @@ +package: gosu + +essential: + - gosu_copyright + +slices: + bins: + contents: + /usr/sbin/gosu: + + copyright: + contents: + /usr/share/doc/gosu/copyright: diff --git a/slices/iptables.yaml b/slices/iptables.yaml new file mode 100644 index 000000000..843340bb8 --- /dev/null +++ b/slices/iptables.yaml @@ -0,0 +1,204 @@ +package: iptables + +essential: + - iptables_copyright + +slices: + bins: + essential: + - iptables_libs + - iptables_links + - libc6_libs + - libip4tc2_libs + - libip6tc2_libs + - libmnl0_libs + - libnetfilter-conntrack3_libs + - libnfnetlink0_libs + - libnftnl11_libs + - libxtables12_libs + - netbase_default-hosts + - netbase_default-networks + contents: + /usr/sbin/arptables-nft: + /usr/sbin/arptables-nft-restore: + /usr/sbin/arptables-nft-save: + /usr/sbin/ebtables-nft: + /usr/sbin/ebtables-nft-restore: + /usr/sbin/ebtables-nft-save: + /usr/sbin/ebtables-translate: + /usr/sbin/ip6tables-apply: + /usr/sbin/ip6tables-legacy: + /usr/sbin/ip6tables-legacy-restore: + /usr/sbin/ip6tables-legacy-save: + /usr/sbin/ip6tables-nft: + /usr/sbin/ip6tables-nft-restore: + /usr/sbin/ip6tables-nft-save: + /usr/sbin/ip6tables-restore-translate: + /usr/sbin/ip6tables-translate: + /usr/sbin/iptables-apply: + /usr/sbin/iptables-legacy: + /usr/sbin/iptables-legacy-restore: + /usr/sbin/iptables-legacy-save: + /usr/sbin/iptables-nft: + /usr/sbin/iptables-nft-restore: + /usr/sbin/iptables-nft-save: + /usr/sbin/iptables-restore-translate: + /usr/sbin/iptables-translate: + /usr/sbin/nfnl_osf: + /usr/sbin/xtables-legacy-multi: + /usr/sbin/xtables-monitor: + /usr/sbin/xtables-nft-multi: + + # The xlst is used to convert XML configuration into something + # iptables can understand, and vice-versa. + converters: + contents: + /usr/bin/iptables-xml: + /usr/share/iptables/iptables.xslt: + + libs: + contents: + /usr/lib/*-linux-*/xtables/libarpt_mangle.so: + /usr/lib/*-linux-*/xtables/libebt_802_3.so: + /usr/lib/*-linux-*/xtables/libebt_among.so: + /usr/lib/*-linux-*/xtables/libebt_arp.so: + /usr/lib/*-linux-*/xtables/libebt_arpreply.so: + /usr/lib/*-linux-*/xtables/libebt_dnat.so: + /usr/lib/*-linux-*/xtables/libebt_ip.so: + /usr/lib/*-linux-*/xtables/libebt_ip6.so: + /usr/lib/*-linux-*/xtables/libebt_log.so: + /usr/lib/*-linux-*/xtables/libebt_mark.so: + /usr/lib/*-linux-*/xtables/libebt_mark_m.so: + /usr/lib/*-linux-*/xtables/libebt_nflog.so: + /usr/lib/*-linux-*/xtables/libebt_pkttype.so: + /usr/lib/*-linux-*/xtables/libebt_redirect.so: + /usr/lib/*-linux-*/xtables/libebt_snat.so: + /usr/lib/*-linux-*/xtables/libebt_stp.so: + /usr/lib/*-linux-*/xtables/libebt_vlan.so: + /usr/lib/*-linux-*/xtables/libip6t_DNPT.so: + /usr/lib/*-linux-*/xtables/libip6t_HL.so: + /usr/lib/*-linux-*/xtables/libip6t_NETMAP.so: + /usr/lib/*-linux-*/xtables/libip6t_REJECT.so: + /usr/lib/*-linux-*/xtables/libip6t_SNPT.so: + /usr/lib/*-linux-*/xtables/libip6t_ah.so: + /usr/lib/*-linux-*/xtables/libip6t_dst.so: + /usr/lib/*-linux-*/xtables/libip6t_eui64.so: + /usr/lib/*-linux-*/xtables/libip6t_frag.so: + /usr/lib/*-linux-*/xtables/libip6t_hbh.so: + /usr/lib/*-linux-*/xtables/libip6t_hl.so: + /usr/lib/*-linux-*/xtables/libip6t_icmp6.so: + /usr/lib/*-linux-*/xtables/libip6t_ipv6header.so: + /usr/lib/*-linux-*/xtables/libip6t_mh.so: + /usr/lib/*-linux-*/xtables/libip6t_rt.so: + /usr/lib/*-linux-*/xtables/libip6t_srh.so: + /usr/lib/*-linux-*/xtables/libipt_CLUSTERIP.so: + /usr/lib/*-linux-*/xtables/libipt_ECN.so: + /usr/lib/*-linux-*/xtables/libipt_NETMAP.so: + /usr/lib/*-linux-*/xtables/libipt_REJECT.so: + /usr/lib/*-linux-*/xtables/libipt_TTL.so: + /usr/lib/*-linux-*/xtables/libipt_ULOG.so: + /usr/lib/*-linux-*/xtables/libipt_ah.so: + /usr/lib/*-linux-*/xtables/libipt_icmp.so: + /usr/lib/*-linux-*/xtables/libipt_realm.so: + /usr/lib/*-linux-*/xtables/libipt_ttl.so: + /usr/lib/*-linux-*/xtables/libxt_AUDIT.so: + /usr/lib/*-linux-*/xtables/libxt_CHECKSUM.so: + /usr/lib/*-linux-*/xtables/libxt_CLASSIFY.so: + /usr/lib/*-linux-*/xtables/libxt_CONNMARK.so: + /usr/lib/*-linux-*/xtables/libxt_CONNSECMARK.so: + /usr/lib/*-linux-*/xtables/libxt_CT.so: + /usr/lib/*-linux-*/xtables/libxt_DNAT.so: + /usr/lib/*-linux-*/xtables/libxt_DSCP.so: + /usr/lib/*-linux-*/xtables/libxt_HMARK.so: + /usr/lib/*-linux-*/xtables/libxt_IDLETIMER.so: + /usr/lib/*-linux-*/xtables/libxt_LED.so: + /usr/lib/*-linux-*/xtables/libxt_LOG.so: + /usr/lib/*-linux-*/xtables/libxt_MARK.so: + /usr/lib/*-linux-*/xtables/libxt_MASQUERADE.so: + /usr/lib/*-linux-*/xtables/libxt_NAT.so: + /usr/lib/*-linux-*/xtables/libxt_NFLOG.so: + /usr/lib/*-linux-*/xtables/libxt_NFQUEUE.so: + /usr/lib/*-linux-*/xtables/libxt_NOTRACK.so: + /usr/lib/*-linux-*/xtables/libxt_RATEEST.so: + /usr/lib/*-linux-*/xtables/libxt_REDIRECT.so: + /usr/lib/*-linux-*/xtables/libxt_SECMARK.so: + /usr/lib/*-linux-*/xtables/libxt_SET.so: + /usr/lib/*-linux-*/xtables/libxt_SNAT.so: + /usr/lib/*-linux-*/xtables/libxt_SYNPROXY.so: + /usr/lib/*-linux-*/xtables/libxt_TCPMSS.so: + /usr/lib/*-linux-*/xtables/libxt_TCPOPTSTRIP.so: + /usr/lib/*-linux-*/xtables/libxt_TEE.so: + /usr/lib/*-linux-*/xtables/libxt_TOS.so: + /usr/lib/*-linux-*/xtables/libxt_TPROXY.so: + /usr/lib/*-linux-*/xtables/libxt_TRACE.so: + /usr/lib/*-linux-*/xtables/libxt_addrtype.so: + /usr/lib/*-linux-*/xtables/libxt_bpf.so: + /usr/lib/*-linux-*/xtables/libxt_cgroup.so: + /usr/lib/*-linux-*/xtables/libxt_cluster.so: + /usr/lib/*-linux-*/xtables/libxt_comment.so: + /usr/lib/*-linux-*/xtables/libxt_connbytes.so: + /usr/lib/*-linux-*/xtables/libxt_connlabel.so: + /usr/lib/*-linux-*/xtables/libxt_connlimit.so: + /usr/lib/*-linux-*/xtables/libxt_connmark.so: + /usr/lib/*-linux-*/xtables/libxt_conntrack.so: + /usr/lib/*-linux-*/xtables/libxt_cpu.so: + /usr/lib/*-linux-*/xtables/libxt_dccp.so: + /usr/lib/*-linux-*/xtables/libxt_devgroup.so: + /usr/lib/*-linux-*/xtables/libxt_dscp.so: + /usr/lib/*-linux-*/xtables/libxt_ecn.so: + /usr/lib/*-linux-*/xtables/libxt_esp.so: + /usr/lib/*-linux-*/xtables/libxt_hashlimit.so: + /usr/lib/*-linux-*/xtables/libxt_helper.so: + /usr/lib/*-linux-*/xtables/libxt_ipcomp.so: + /usr/lib/*-linux-*/xtables/libxt_iprange.so: + /usr/lib/*-linux-*/xtables/libxt_ipvs.so: + /usr/lib/*-linux-*/xtables/libxt_length.so: + /usr/lib/*-linux-*/xtables/libxt_limit.so: + /usr/lib/*-linux-*/xtables/libxt_mac.so: + /usr/lib/*-linux-*/xtables/libxt_mark.so: + /usr/lib/*-linux-*/xtables/libxt_multiport.so: + /usr/lib/*-linux-*/xtables/libxt_nfacct.so: + /usr/lib/*-linux-*/xtables/libxt_osf.so: + /usr/lib/*-linux-*/xtables/libxt_owner.so: + /usr/lib/*-linux-*/xtables/libxt_physdev.so: + /usr/lib/*-linux-*/xtables/libxt_pkttype.so: + /usr/lib/*-linux-*/xtables/libxt_policy.so: + /usr/lib/*-linux-*/xtables/libxt_quota.so: + /usr/lib/*-linux-*/xtables/libxt_rateest.so: + /usr/lib/*-linux-*/xtables/libxt_recent.so: + /usr/lib/*-linux-*/xtables/libxt_rpfilter.so: + /usr/lib/*-linux-*/xtables/libxt_sctp.so: + /usr/lib/*-linux-*/xtables/libxt_set.so: + /usr/lib/*-linux-*/xtables/libxt_socket.so: + /usr/lib/*-linux-*/xtables/libxt_standard.so: + /usr/lib/*-linux-*/xtables/libxt_state.so: + /usr/lib/*-linux-*/xtables/libxt_statistic.so: + /usr/lib/*-linux-*/xtables/libxt_string.so: + /usr/lib/*-linux-*/xtables/libxt_tcp.so: + /usr/lib/*-linux-*/xtables/libxt_tcpmss.so: + /usr/lib/*-linux-*/xtables/libxt_time.so: + /usr/lib/*-linux-*/xtables/libxt_tos.so: + /usr/lib/*-linux-*/xtables/libxt_u32.so: + /usr/lib/*-linux-*/xtables/libxt_udp.so: + + # These are created by the post-inst script and sets up + # defaults for some of the binaries. Emulate this by creating + # the expected symlinks. + links: + contents: + /usr/sbin/arptables: {symlink: /usr/sbin/arptables-nft} + /usr/sbin/arptables-restore: {symlink: /usr/sbin/arptables-nft-restore} + /usr/sbin/arptables-save: {symlink: /usr/sbin/arptables-nft-save} + /usr/sbin/ebtables: {symlink: /usr/sbin/ebtables-nft} + /usr/sbin/ebtables-restore: {symlink: /usr/sbin/ebtables-nft-restore} + /usr/sbin/ebtables-save: {symlink: /usr/sbin/ebtables-nft-save} + /usr/sbin/ip6tables: {symlink: /usr/sbin/ip6tables-nft} + /usr/sbin/ip6tables-restore: {symlink: /usr/sbin/ip6tables-nft-restore} + /usr/sbin/ip6tables-save: {symlink: /usr/sbin/ip6tables-nft-save} + /usr/sbin/iptables: {symlink: /usr/sbin/iptables-nft} + /usr/sbin/iptables-restore: {symlink: /usr/sbin/iptables-nft-restore} + /usr/sbin/iptables-save: {symlink: /usr/sbin/iptables-nft-save} + + copyright: + contents: + /usr/share/doc/iptables/copyright: diff --git a/slices/libcairo2.yaml b/slices/libcairo2.yaml new file mode 100644 index 000000000..b2fa1c14a --- /dev/null +++ b/slices/libcairo2.yaml @@ -0,0 +1,26 @@ +package: libcairo2 + +essential: + - libcairo2_copyright + +slices: + libs: + essential: + - libc6_libs + - libfontconfig1_libs + - libfreetype6_libs + - libpixman-1-0_libs + - libpng16-16t64_libs + - libx11-6_libs + - libxcb-render0_libs + - libxcb-shm0_libs + - libxcb1_libs + - libxext6_libs + - libxrender1_libs + - zlib1g_libs + contents: + /usr/lib/*-linux-*/libcairo.so.2*: + + copyright: + contents: + /usr/share/doc/libcairo2/copyright: diff --git a/slices/libcurl3t64-gnutls.yaml b/slices/libcurl3t64-gnutls.yaml new file mode 100644 index 000000000..e4452ae20 --- /dev/null +++ b/slices/libcurl3t64-gnutls.yaml @@ -0,0 +1,27 @@ +package: libcurl3t64-gnutls + +essential: + - libcurl3t64-gnutls_copyright + +slices: + libs: + essential: + - libbrotli1_libs + - libc6_libs + - libgnutls30t64_libs + - libgssapi-krb5-2_libs + - libidn2-0_libs + - libldap2_libs + - libnettle8t64_libs + - libnghttp2-14_libs + - libpsl5t64_libs + - librtmp1_libs + - libssh-4_libs + - libzstd1_libs + - zlib1g_libs + contents: + /usr/lib/*-linux-*/libcurl-gnutls.so.*: + + copyright: + contents: + /usr/share/doc/libcurl3t64-gnutls/copyright: diff --git a/slices/libexif12.yaml b/slices/libexif12.yaml new file mode 100644 index 000000000..f323e0876 --- /dev/null +++ b/slices/libexif12.yaml @@ -0,0 +1,15 @@ +package: libexif12 + +essential: + - libexif12_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/libexif.so.12*: + + copyright: + contents: + /usr/share/doc/libexif12/copyright: diff --git a/slices/libfontenc1.yaml b/slices/libfontenc1.yaml new file mode 100644 index 000000000..ba2bcd2e2 --- /dev/null +++ b/slices/libfontenc1.yaml @@ -0,0 +1,16 @@ +package: libfontenc1 + +essential: + - libfontenc1_copyright + +slices: + libs: + essential: + - libc6_libs + - zlib1g_libs + contents: + /usr/lib/*-linux-*/libfontenc.so.1*: + + copyright: + contents: + /usr/share/doc/libfontenc1/copyright: diff --git a/slices/libgdiplus.yaml b/slices/libgdiplus.yaml new file mode 100644 index 000000000..1f69cc5ea --- /dev/null +++ b/slices/libgdiplus.yaml @@ -0,0 +1,27 @@ +package: libgdiplus + +essential: + - libgdiplus_copyright + +slices: + libs: + essential: + - libc6_libs + - libcairo2_libs + - libexif12_libs + - libfontconfig1_libs + - libgif7_libs + - libglib2.0-0t64_libs + - libharfbuzz0b_libs + - libjpeg8_libs + - libpango-1.0-0_libs + - libpangocairo-1.0-0_libs + - libpng16-16t64_libs + - libtiff6_libs + - libx11-6_libs + contents: + /usr/lib/libgdiplus.so.0*: + + copyright: + contents: + /usr/share/doc/libgdiplus/copyright: diff --git a/slices/libgflags2.2.yaml b/slices/libgflags2.2.yaml new file mode 100644 index 000000000..97d17de0b --- /dev/null +++ b/slices/libgflags2.2.yaml @@ -0,0 +1,18 @@ +package: libgflags2.2 + +essential: + - libgflags2.2_copyright + +slices: + libs: + essential: + - libc6_libs + - libgcc-s1_libs + - libstdc++6_libs + contents: + /usr/lib/*-linux-*/libgflags.so.2.2*: + /usr/lib/*-linux-*/libgflags_nothreads.so.2.2*: + + copyright: + contents: + /usr/share/doc/libgflags2.2/copyright: diff --git a/slices/libhwloc15.yaml b/slices/libhwloc15.yaml new file mode 100644 index 000000000..5b581b44c --- /dev/null +++ b/slices/libhwloc15.yaml @@ -0,0 +1,16 @@ +package: libhwloc15 + +essential: + - libhwloc15_copyright + +slices: + libs: + essential: + - libc6_libs + - libudev1_libs + contents: + /usr/lib/*-linux-*/libhwloc.so.15*: + + copyright: + contents: + /usr/share/doc/libhwloc15/copyright: diff --git a/slices/libip4tc2.yaml b/slices/libip4tc2.yaml new file mode 100644 index 000000000..d4eeb744c --- /dev/null +++ b/slices/libip4tc2.yaml @@ -0,0 +1,15 @@ +package: libip4tc2 + +essential: + - libip4tc2_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/libip4tc.so.2*: + + copyright: + contents: + /usr/share/doc/libip4tc2/copyright: diff --git a/slices/libip6tc2.yaml b/slices/libip6tc2.yaml new file mode 100644 index 000000000..8fd178ef5 --- /dev/null +++ b/slices/libip6tc2.yaml @@ -0,0 +1,15 @@ +package: libip6tc2 + +essential: + - libip6tc2_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/libip6tc.so.2*: + + copyright: + contents: + /usr/share/doc/libip6tc2/copyright: diff --git a/slices/libjemalloc2.yaml b/slices/libjemalloc2.yaml new file mode 100644 index 000000000..26b9d5c06 --- /dev/null +++ b/slices/libjemalloc2.yaml @@ -0,0 +1,17 @@ +package: libjemalloc2 + +essential: + - libjemalloc2_copyright + +slices: + libs: + essential: + - libc6_libs + - libgcc-s1_libs + - libstdc++6_libs + contents: + /usr/lib/*-linux-*/libjemalloc.so.2: + + copyright: + contents: + /usr/share/doc/libjemalloc2/copyright: diff --git a/slices/liblzf1.yaml b/slices/liblzf1.yaml new file mode 100644 index 000000000..a75c88e0e --- /dev/null +++ b/slices/liblzf1.yaml @@ -0,0 +1,15 @@ +package: liblzf1 + +essential: + - liblzf1_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/liblzf.so.1*: + + copyright: + contents: + /usr/share/doc/liblzf1/copyright: diff --git a/slices/libmnl0.yaml b/slices/libmnl0.yaml new file mode 100644 index 000000000..6a4a337fd --- /dev/null +++ b/slices/libmnl0.yaml @@ -0,0 +1,15 @@ +package: libmnl0 + +essential: + - libmnl0_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/libmnl.so.0*: + + copyright: + contents: + /usr/share/doc/libmnl0/copyright: diff --git a/slices/libncursesw6.yaml b/slices/libncursesw6.yaml index ed91d9f90..5aa0b4608 100644 --- a/slices/libncursesw6.yaml +++ b/slices/libncursesw6.yaml @@ -1,5 +1,8 @@ package: libncursesw6 +essential: + - libncursesw6_copyright + slices: libs: essential: @@ -10,3 +13,8 @@ slices: /usr/lib/*-linux-*/libmenuw.so.6*: /usr/lib/*-linux-*/libncursesw.so.6*: /usr/lib/*-linux-*/libpanelw.so.6*: + copyright: + essential: + - libtinfo6_copyright + contents: + /usr/share/doc/libncursesw6: diff --git a/slices/libnetfilter-conntrack3.yaml b/slices/libnetfilter-conntrack3.yaml new file mode 100644 index 000000000..757f37619 --- /dev/null +++ b/slices/libnetfilter-conntrack3.yaml @@ -0,0 +1,17 @@ +package: libnetfilter-conntrack3 + +essential: + - libnetfilter-conntrack3_copyright + +slices: + libs: + essential: + - libc6_libs + - libmnl0_libs + - libnfnetlink0_libs + contents: + /usr/lib/*-linux-*/libnetfilter_conntrack.so.3*: + + copyright: + contents: + /usr/share/doc/libnetfilter-conntrack3/copyright: diff --git a/slices/libnfnetlink0.yaml b/slices/libnfnetlink0.yaml new file mode 100644 index 000000000..ecf4abda5 --- /dev/null +++ b/slices/libnfnetlink0.yaml @@ -0,0 +1,15 @@ +package: libnfnetlink0 + +essential: + - libnfnetlink0_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/libnfnetlink.so.0*: + + copyright: + contents: + /usr/share/doc/libnfnetlink0/copyright: diff --git a/slices/libnftnl11.yaml b/slices/libnftnl11.yaml new file mode 100644 index 000000000..aa2a0620b --- /dev/null +++ b/slices/libnftnl11.yaml @@ -0,0 +1,16 @@ +package: libnftnl11 + +essential: + - libnftnl11_copyright + +slices: + libs: + essential: + - libc6_libs + - libmnl0_libs + contents: + /usr/lib/*-linux-*/libnftnl.so.11*: + + copyright: + contents: + /usr/share/doc/libnftnl11/copyright: diff --git a/slices/libnginx-mod-http-headers-more-filter.yaml b/slices/libnginx-mod-http-headers-more-filter.yaml new file mode 100644 index 000000000..54c28022f --- /dev/null +++ b/slices/libnginx-mod-http-headers-more-filter.yaml @@ -0,0 +1,26 @@ +package: libnginx-mod-http-headers-more-filter + +essential: + - libnginx-mod-http-headers-more-filter_copyright + +slices: + modules: + essential: + # libnginx-mod-http-headers-more-filter depends on nginx-abi, which is + # a virtual package provided by nginx, hence the dependency on nginx_bins. + - libc6_libs + - libnginx-mod-http-headers-more-filter_config + - nginx_bins + contents: + /usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so: + + config: + contents: + # This symlink is created by the maintainer scipts + /etc/nginx/modules-enabled/50-mod-http-headers-more-filter.conf: + symlink: /usr/share/nginx/modules-available/mod-http-headers-more-filter.conf + /usr/share/nginx/modules-available/mod-http-headers-more-filter.conf: + + copyright: + contents: + /usr/share/doc/libnginx-mod-http-headers-more-filter/copyright: diff --git a/slices/libnss3.yaml b/slices/libnss3.yaml index d7e4bb813..db5c002e5 100644 --- a/slices/libnss3.yaml +++ b/slices/libnss3.yaml @@ -1,10 +1,25 @@ +# Network Security Service libraries. +# +# This is a set of libraries designed to support cross-platform development of +# security-enabled client and server applications. It can support SSLv2 and v4, +# TLS, PKCS #5, #7, #11, #12, S/MIME, X.509 v3 certificates and other security +# standards. package: libnss3 essential: - libnss3_copyright slices: + # The libs slice contains all the libraries coming from this package. libs: + essential: + # This package still has many other libraries which are not part of any + # slices yet. Upon creation of new slices containing those libraries, + # make sure to add those slices in this list. + - libnss3_nss + - libnss3_smime + + nss: essential: - libc6_libs - libnspr4_libs @@ -13,6 +28,13 @@ slices: /usr/lib/*-linux-*/libnss3.so: /usr/lib/*-linux-*/libnssutil3.so: + smime: + essential: + - libc6_libs + - libnspr4_libs + contents: + /usr/lib/*-linux-*/libsmime3.so: + copyright: contents: /usr/share/doc/libnss3/copyright: diff --git a/slices/libpam-runtime.yaml b/slices/libpam-runtime.yaml index 58562cea9..91f3943bd 100644 --- a/slices/libpam-runtime.yaml +++ b/slices/libpam-runtime.yaml @@ -18,28 +18,126 @@ slices: # pam-config and pam-defaults slices are only used for generation, and are useless # for anything else. - # Applications that need libpam for now should just rely on the config and var slices for now - - # until appropriate solution for emulating what pam-auth-update can do (or maybe something else). + # Emulate in part what pam-auth-update does. There is a short coming right now, we + # cannot include other files from other slices that install into + # /usr/share/pam-configs/* + # since this mutation script wont be able to access them as of writing. config: + essential: + - libpam-runtime_var contents: /etc/pam.conf: + /etc/pam.d/common-account: { text: "", mutable: true } + /etc/pam.d/common-auth: { text: "", mutable: true } + /etc/pam.d/common-password: { text: "", mutable: true } + /etc/pam.d/common-session: { text: "", mutable: true } + /etc/pam.d/common-session-noninteractive: { text: "", mutable: true } /etc/pam.d/other: + /usr/share/pam-configs/unix: { until: mutate } + /usr/share/pam/common-account: { until: mutate } + /usr/share/pam/common-auth: { until: mutate } + /usr/share/pam/common-password: { until: mutate } + /usr/share/pam/common-session: { until: mutate } + /usr/share/pam/common-session-noninteractive: { until: mutate } + mutate: | + def parse_type(t): + strippedValue = t[1].strip() + if t[0] == "Auth-Type": + return ["auth", strippedValue] + elif t[0] == "Account-Type": + return ["account", strippedValue] + elif t[0] == "Session-Type": + return ["session-noninteractive", strippedValue] + elif t[0] == "Password-Type": + return ["password", strippedValue] + return [] - # folders expected by libpam to exist - var: - contents: - /var/lib/pam/: + confs_dir = "/usr/share/pam-configs/" + confs = content.list(confs_dir) + confdata = {} + for x in confs: + conf = content.read(confs_dir + x) + lines = conf.splitlines() + + m = "" + p = "" + t = "" + for i in range(len(lines)): + vals = lines[i].split(":") + if vals[0] == "Priority": + p = vals[1].strip() + elif vals[0] in ["Auth-Type", "Account-Type", "Session-Type", "Password-Type"]: + m, t = parse_type(vals) + elif vals[0] == "Session-Interactive-Only": + if vals[1].strip() == "yes": + m = "session" + elif vals[0] in ["Auth-Initial", "Account-Initial", + "Session-Initial", "Password-Initial"]: + d = [] + for j in range(i + 1, len(lines)): + if ":" in lines[j]: + break + d.append(lines[j]) + confdata[m] = {t: {p: d}} + + def reconfigure_data_line(section, line, i): + res = "" + upd = line.replace("success=end", "success=" + str(i)) + if section == "session-noninteractive": + res += "session" + upd + "\n" + else: + res += section + upd + "\n" + return res + + def build_block(data, section, block, existing): + si = 1 + res = existing + if section in data: + types = data[section] + if block in types: + # get the keys (which are the priorities) and + # then reverse sort them to get the highest priority + # first + itemsByPriority = types[block] + keys = itemsByPriority.keys() + keys = sorted(keys, reverse=True) + for p in keys: + for d in itemsByPriority[p]: + res = reconfigure_data_line(section, d, si) + "\n" + si += 1 + + # no primary block, so output a stock pam_permit line + # to keep the stack intact + if res == "" and block == "Primary": + return reconfigure_data_line(section, "\t[default=1]\t\t\tpam_permit.so\n", 1); + return res + + fnames = ["account", "auth", "password", "session", "session-noninteractive"] + idnames = ["$account", "$auth", "$password", "$session", "$session_nonint"] - # Used by pam-auth-update to generate the pam.d/ config - # files inside etc. However pam-auth-update relies on - # debconf to actually work and discover these packages. + for i in range(len(fnames)): + fn = fnames[i] + template = content.read("/usr/share/pam/common-" + fn) + pb = build_block(confdata, fn, "Primary", "") + ab = build_block(confdata, fn, "Additional", "") + + # session also includes settings from the session-noninteractive, + # but not the other way around + if fn == "session": + pb = build_block(confdata, "session-noninteractive", "Primary", pb) + ab = build_block(confdata, "session-noninteractive", "Additional", ab) + + template = template.replace(idnames[i] + "_primary", pb) + template = template.replace(idnames[i] + "_additional", ab) + content.write("/etc/pam.d/common-" + fn, template) + + # The following two slices are kept for backwards compatibility. + # However, the pam-defaults have been modified to deliver correct + # files instead of templates. pam-config: contents: /usr/share/pam-configs/unix: - # default templates for the /etc/pam.d files that are used by - # pam-auth-update to generate the /etc/pam.d versions based on - # additional plugs in /usr/share/pam-configs/*. pam-defaults: contents: /usr/share/pam/common-account: @@ -53,6 +151,11 @@ slices: /usr/share/pam/common-session-noninteractive.md5sums: /usr/share/pam/common-session.md5sums: + # folders expected by libpam to exist + var: + contents: + /var/lib/pam/: + copyright: contents: /usr/share/doc/libpam-runtime/copyright: diff --git a/slices/libpango-1.0-0.yaml b/slices/libpango-1.0-0.yaml new file mode 100644 index 000000000..ee8973271 --- /dev/null +++ b/slices/libpango-1.0-0.yaml @@ -0,0 +1,20 @@ +package: libpango-1.0-0 + +essential: + - libpango-1.0-0_copyright + +slices: + libs: + essential: + - fontconfig_bins + - libc6_libs + - libfribidi0_libs + - libglib2.0-0t64_libs + - libharfbuzz0b_libs + - libthai0_libs + contents: + /usr/lib/*-linux-*/libpango-1.0.so.0*: + + copyright: + contents: + /usr/share/doc/libpango-1.0-0/copyright: diff --git a/slices/libpangocairo-1.0-0.yaml b/slices/libpangocairo-1.0-0.yaml new file mode 100644 index 000000000..cfe48d150 --- /dev/null +++ b/slices/libpangocairo-1.0-0.yaml @@ -0,0 +1,21 @@ +package: libpangocairo-1.0-0 + +essential: + - libpangocairo-1.0-0_copyright + +slices: + libs: + essential: + - libc6_libs + - libcairo2_libs + - libfontconfig1_libs + - libglib2.0-0t64_libs + - libharfbuzz0b_libs + - libpango-1.0-0_libs + - libpangoft2-1.0-0_libs + contents: + /usr/lib/*-linux-*/libpangocairo-1.0.so.0*: + + copyright: + contents: + /usr/share/doc/libpangocairo-1.0-0/copyright: diff --git a/slices/libpangoft2-1.0-0.yaml b/slices/libpangoft2-1.0-0.yaml new file mode 100644 index 000000000..f17bb03f2 --- /dev/null +++ b/slices/libpangoft2-1.0-0.yaml @@ -0,0 +1,20 @@ +package: libpangoft2-1.0-0 + +essential: + - libpangoft2-1.0-0_copyright + +slices: + libs: + essential: + - libc6_libs + - libfontconfig1_libs + - libfreetype6_libs + - libglib2.0-0t64_libs + - libharfbuzz0b_libs + - libpango-1.0-0_libs + contents: + /usr/lib/*-linux-*/libpangoft2-1.0.so.0*: + + copyright: + contents: + /usr/share/doc/libpangoft2-1.0-0/copyright: diff --git a/slices/libpython3-stdlib.yaml b/slices/libpython3-stdlib.yaml new file mode 100644 index 000000000..536d4f215 --- /dev/null +++ b/slices/libpython3-stdlib.yaml @@ -0,0 +1,117 @@ +package: libpython3-stdlib + +essential: + - libpython3-stdlib_copyright + +slices: + core: + essential: + - libpython3.12-stdlib_core + + aix-support: + essential: + - libpython3.12-stdlib_aix-support + + all-os: + essential: + - libpython3.12-stdlib_all-os + + concurrency: + essential: + - libpython3.12-stdlib_concurrency + + crypto: + essential: + - libpython3.12-stdlib_crypto + + custom-interpreters: + essential: + - libpython3.12-stdlib_custom-interpreters + + data-persistence: + essential: + - libpython3.12-stdlib_data-persistence + + data-types: + essential: + - libpython3.12-stdlib_data-types + + debug: + essential: + - libpython3.12-stdlib_debug + + development-tools: + essential: + - libpython3.12-stdlib_development-tools + + distribution: + essential: + - libpython3.12-stdlib_distribution + + file-formats: + essential: + - libpython3.12-stdlib_file-formats + + filesys: + essential: + - libpython3.12-stdlib_filesys + + frameworks: + essential: + - libpython3.12-stdlib_frameworks + + importing: + essential: + - libpython3.12-stdlib_importing + + internet: + essential: + - libpython3.12-stdlib_internet + + ipc: + essential: + - libpython3.12-stdlib_ipc + + language: + essential: + - libpython3.12-stdlib_language + + markup-tools: + essential: + - libpython3.12-stdlib_markup-tools + + multimedia: + essential: + - libpython3.12-stdlib_multimedia + + net-data: + essential: + - libpython3.12-stdlib_net-data + + numeric: + essential: + - libpython3.12-stdlib_numeric + + osx-support: + essential: + - libpython3.12-stdlib_osx-support + + pydoc: + essential: + - libpython3.12-stdlib_pydoc + + text: + essential: + - libpython3.12-stdlib_text + + unix: + essential: + - libpython3.12-stdlib_unix + + extras: + essential: + - libpython3.12-stdlib_extras + + copyright: + contents: + /usr/share/doc/libpython3-stdlib/copyright: diff --git a/slices/librdkafka++1.yaml b/slices/librdkafka++1.yaml new file mode 100644 index 000000000..5b682ec30 --- /dev/null +++ b/slices/librdkafka++1.yaml @@ -0,0 +1,18 @@ +package: librdkafka++1 + +essential: + - librdkafka++1_copyright + +slices: + libs: + essential: + - libc6_libs + - libgcc-s1_libs + - librdkafka1_libs + - libstdc++6_libs + contents: + /usr/lib/*-linux-*/librdkafka++.so.1: + + copyright: + contents: + /usr/share/doc/librdkafka++1/copyright: diff --git a/slices/librdkafka1.yaml b/slices/librdkafka1.yaml new file mode 100644 index 000000000..7cbb479d7 --- /dev/null +++ b/slices/librdkafka1.yaml @@ -0,0 +1,20 @@ +package: librdkafka1 + +essential: + - librdkafka1_copyright + +slices: + libs: + essential: + - libc6_libs + - liblz4-1_libs + - libsasl2-2_libs + - libssl3t64_libs + - libzstd1_libs + - zlib1g_libs + contents: + /usr/lib/*-linux-*/librdkafka.so.1: + + copyright: + contents: + /usr/share/doc/librdkafka1/copyright: diff --git a/slices/librocksdb8.9.yaml b/slices/librocksdb8.9.yaml new file mode 100644 index 000000000..ee9f5ff0a --- /dev/null +++ b/slices/librocksdb8.9.yaml @@ -0,0 +1,23 @@ +package: librocksdb8.9 + +essential: + - librocksdb8.9_copyright + +slices: + libs: + essential: + - libbz2-1.0_libs + - libc6_libs + - libgcc-s1_libs + - libgflags2.2_libs + - liblz4-1_libs + - libsnappy1v5_libs + - libstdc++6_libs + - libzstd1_libs + - zlib1g_libs + contents: + /usr/lib/*-linux-*/librocksdb.so.8.9*: + + copyright: + contents: + /usr/share/doc/librocksdb8.9/copyright: diff --git a/slices/libsnappy1v5.yaml b/slices/libsnappy1v5.yaml new file mode 100644 index 000000000..f19020f62 --- /dev/null +++ b/slices/libsnappy1v5.yaml @@ -0,0 +1,18 @@ +package: libsnappy1v5 + +essential: + - libsnappy1v5_copyright + +slices: + libs: + essential: + - libc6_libs + # libsnappy1v5 depends on libgcc-s1 on riscv64 and armhf + - libgcc-s1_libs + - libstdc++6_libs + contents: + /usr/lib/*-linux-*/libsnappy.so.1*: + + copyright: + contents: + /usr/share/doc/libsnappy1v5/copyright: diff --git a/slices/libsubid4.yaml b/slices/libsubid4.yaml index 010e04451..b70909624 100644 --- a/slices/libsubid4.yaml +++ b/slices/libsubid4.yaml @@ -1,6 +1,6 @@ package: libsubid4 -esential: +essential: - libsubid4_copyright slices: diff --git a/slices/libtbb12.yaml b/slices/libtbb12.yaml new file mode 100644 index 000000000..adbff5249 --- /dev/null +++ b/slices/libtbb12.yaml @@ -0,0 +1,19 @@ +package: libtbb12 + +essential: + - libtbb12_copyright + +slices: + libs: + essential: + - libc6_libs + - libgcc-s1_libs + - libstdc++6_libs + - libtbbbind-2-5_libs + - libtbbmalloc2_libs + contents: + /usr/lib/*-linux-*/libtbb.so.12*: + + copyright: + contents: + /usr/share/doc/libtbb12/copyright: diff --git a/slices/libtbbbind-2-5.yaml b/slices/libtbbbind-2-5.yaml new file mode 100644 index 000000000..3ac1dc255 --- /dev/null +++ b/slices/libtbbbind-2-5.yaml @@ -0,0 +1,18 @@ +package: libtbbbind-2-5 + +essential: + - libtbbbind-2-5_copyright + +slices: + libs: + essential: + - libc6_libs + - libgcc-s1_libs + - libhwloc15_libs + - libstdc++6_libs + contents: + /usr/lib/*-linux-*/libtbbbind_2_5.so.3*: + + copyright: + contents: + /usr/share/doc/libtbbbind-2-5/copyright: diff --git a/slices/libtbbmalloc2.yaml b/slices/libtbbmalloc2.yaml new file mode 100644 index 000000000..88f6cd100 --- /dev/null +++ b/slices/libtbbmalloc2.yaml @@ -0,0 +1,18 @@ +package: libtbbmalloc2 + +essential: + - libtbbmalloc2_copyright + +slices: + libs: + essential: + - libc6_libs + - libgcc-s1_libs + - libstdc++6_libs + contents: + /usr/lib/*-linux-*/libtbbmalloc.so.2*: + /usr/lib/*-linux-*/libtbbmalloc_proxy.so.2*: + + copyright: + contents: + /usr/share/doc/libtbbmalloc2/copyright: diff --git a/slices/libthai-data.yaml b/slices/libthai-data.yaml new file mode 100644 index 000000000..a9b9a36db --- /dev/null +++ b/slices/libthai-data.yaml @@ -0,0 +1,13 @@ +package: libthai-data + +essential: + - libthai-data_copyright + +slices: + data: + contents: + /usr/share/libthai/thbrk.tri: + + copyright: + contents: + /usr/share/doc/libthai-data/copyright: diff --git a/slices/libthai0.yaml b/slices/libthai0.yaml new file mode 100644 index 000000000..7f64eb764 --- /dev/null +++ b/slices/libthai0.yaml @@ -0,0 +1,17 @@ +package: libthai0 + +essential: + - libthai0_copyright + +slices: + libs: + essential: + - libc6_libs + - libdatrie1_libs + - libthai-data_data + contents: + /usr/lib/*-linux-*/libthai.so.0*: + + copyright: + contents: + /usr/share/doc/libthai0/copyright: diff --git a/slices/libtheora0.yaml b/slices/libtheora0.yaml new file mode 100644 index 000000000..4bf066e15 --- /dev/null +++ b/slices/libtheora0.yaml @@ -0,0 +1,19 @@ +package: libtheora0 + +essential: + - libtheora0_copyright + +slices: + libs: + essential: + - libc6_libs + - libcairo2_libs + - libogg0_libs + contents: + /usr/lib/*-linux-*/libtheora.so.0*: + /usr/lib/*-linux-*/libtheoradec.so.1*: + /usr/lib/*-linux-*/libtheoraenc.so.1*: + + copyright: + contents: + /usr/share/doc/libtheora0/copyright: diff --git a/slices/libx11-6.yaml b/slices/libx11-6.yaml new file mode 100644 index 000000000..43157b594 --- /dev/null +++ b/slices/libx11-6.yaml @@ -0,0 +1,17 @@ +package: libx11-6 + +essential: + - libx11-6_copyright + +slices: + libs: + essential: + - libc6_libs + - libx11-data_data + - libxcb1_libs + contents: + /usr/lib/*-linux-*/libX11.so.6*: + + copyright: + contents: + /usr/share/doc/libx11-6/copyright: diff --git a/slices/libx11-data.yaml b/slices/libx11-data.yaml new file mode 100644 index 000000000..db8f4b664 --- /dev/null +++ b/slices/libx11-data.yaml @@ -0,0 +1,83 @@ +package: libx11-data + +essential: + - libx11-data_copyright + +slices: + data: + essential: + - libx11-data_locale + contents: + /usr/share/X11/XErrorDB: + + locale: + contents: + /usr/share/X11/locale/C/**: + /usr/share/X11/locale/am_ET.UTF-8/**: + /usr/share/X11/locale/armscii-8/**: + /usr/share/X11/locale/compose.dir: + /usr/share/X11/locale/cs_CZ.UTF-8/**: + /usr/share/X11/locale/el_GR.UTF-8/**: + /usr/share/X11/locale/en_US.UTF-8/**: + /usr/share/X11/locale/fi_FI.UTF-8/**: + /usr/share/X11/locale/georgian-academy/**: + /usr/share/X11/locale/georgian-ps/**: + /usr/share/X11/locale/ibm-cp1133/**: + /usr/share/X11/locale/iscii-dev/**: + /usr/share/X11/locale/isiri-3342/**: + /usr/share/X11/locale/iso8859-1/**: + /usr/share/X11/locale/iso8859-10/**: + /usr/share/X11/locale/iso8859-11/**: + /usr/share/X11/locale/iso8859-13/**: + /usr/share/X11/locale/iso8859-14/**: + /usr/share/X11/locale/iso8859-15/**: + /usr/share/X11/locale/iso8859-2/**: + /usr/share/X11/locale/iso8859-3/**: + /usr/share/X11/locale/iso8859-4/**: + /usr/share/X11/locale/iso8859-5/**: + /usr/share/X11/locale/iso8859-6/**: + /usr/share/X11/locale/iso8859-7/**: + /usr/share/X11/locale/iso8859-8/**: + /usr/share/X11/locale/iso8859-9/**: + /usr/share/X11/locale/iso8859-9e/**: + /usr/share/X11/locale/ja.JIS/**: + /usr/share/X11/locale/ja.SJIS/**: + /usr/share/X11/locale/ja/**: + /usr/share/X11/locale/ja_JP.UTF-8/**: + /usr/share/X11/locale/km_KH.UTF-8/**: + /usr/share/X11/locale/ko/**: + /usr/share/X11/locale/ko_KR.UTF-8/**: + /usr/share/X11/locale/koi8-c/**: + /usr/share/X11/locale/koi8-r/**: + /usr/share/X11/locale/koi8-u/**: + /usr/share/X11/locale/locale.alias: + /usr/share/X11/locale/locale.dir: + /usr/share/X11/locale/microsoft-cp1251/**: + /usr/share/X11/locale/microsoft-cp1255/**: + /usr/share/X11/locale/microsoft-cp1256/**: + /usr/share/X11/locale/mulelao-1/**: + /usr/share/X11/locale/nokhchi-1/**: + /usr/share/X11/locale/pt_BR.UTF-8/**: + /usr/share/X11/locale/pt_PT.UTF-8/**: + /usr/share/X11/locale/ru_RU.UTF-8/**: + /usr/share/X11/locale/sr_RS.UTF-8/**: + /usr/share/X11/locale/tatar-cyr/**: + /usr/share/X11/locale/th_TH.UTF-8/**: + /usr/share/X11/locale/th_TH/**: + /usr/share/X11/locale/tscii-0/**: + /usr/share/X11/locale/vi_VN.tcvn/**: + /usr/share/X11/locale/vi_VN.viscii/**: + /usr/share/X11/locale/zh_CN.UTF-8/**: + /usr/share/X11/locale/zh_CN.gb18030/**: + /usr/share/X11/locale/zh_CN.gbk/**: + /usr/share/X11/locale/zh_CN/**: + /usr/share/X11/locale/zh_HK.UTF-8/**: + /usr/share/X11/locale/zh_HK.big5/**: + /usr/share/X11/locale/zh_HK.big5hkscs/**: + /usr/share/X11/locale/zh_TW.UTF-8/**: + /usr/share/X11/locale/zh_TW.big5/**: + /usr/share/X11/locale/zh_TW/**: + + copyright: + contents: + /usr/share/doc/libx11-data/copyright: diff --git a/slices/libx11-xcb1.yaml b/slices/libx11-xcb1.yaml new file mode 100644 index 000000000..2bc188ba1 --- /dev/null +++ b/slices/libx11-xcb1.yaml @@ -0,0 +1,15 @@ +package: libx11-xcb1 + +essential: + - libx11-xcb1_copyright + +slices: + libs: + essential: + - libx11-6_libs + contents: + /usr/lib/*-linux-*/libX11-xcb.so.1*: + + copyright: + contents: + /usr/share/doc/libx11-xcb1/copyright: diff --git a/slices/libxext6.yaml b/slices/libxext6.yaml new file mode 100644 index 000000000..ae7c8fe9e --- /dev/null +++ b/slices/libxext6.yaml @@ -0,0 +1,16 @@ +package: libxext6 + +essential: + - libxext6_copyright + +slices: + libs: + essential: + - libc6_libs + - libx11-6_libs + contents: + /usr/lib/*-linux-*/libXext.so.6*: + + copyright: + contents: + /usr/share/doc/libxext6/copyright: diff --git a/slices/libxrender1.yaml b/slices/libxrender1.yaml new file mode 100644 index 000000000..c2ff3f1cb --- /dev/null +++ b/slices/libxrender1.yaml @@ -0,0 +1,16 @@ +package: libxrender1 + +essential: + - libxrender1_copyright + +slices: + libs: + essential: + - libc6_libs + - libx11-6_libs + contents: + /usr/lib/*-linux-*/libXrender.so.1*: + + copyright: + contents: + /usr/share/doc/libxrender1/copyright: diff --git a/slices/libxtables12.yaml b/slices/libxtables12.yaml new file mode 100644 index 000000000..bd8d1d699 --- /dev/null +++ b/slices/libxtables12.yaml @@ -0,0 +1,15 @@ +package: libxtables12 + +essential: + - libxtables12_copyright + +slices: + libs: + essential: + - libc6_libs + contents: + /usr/lib/*-linux-*/libxtables.so.12*: + + copyright: + contents: + /usr/share/doc/libxtables12/copyright: diff --git a/slices/nginx-common.yaml b/slices/nginx-common.yaml new file mode 100644 index 000000000..e12c763af --- /dev/null +++ b/slices/nginx-common.yaml @@ -0,0 +1,70 @@ +package: nginx-common + +essential: + - nginx-common_copyright + +slices: + # Leaving the debconf dependency out as we don't currently need pkg mgmt. + # Also, debconf is especially used for the maintainer scripts, which are + # handled differently in Chisel. + # There's also no need (yet) for any init- and systemd-related files. + config: + contents: + /etc/logrotate.d/nginx: + /etc/nginx/fastcgi.conf: + /etc/nginx/fastcgi_params: + /etc/nginx/koi-utf: + /etc/nginx/koi-win: + /etc/nginx/mime.types: + /etc/nginx/nginx.conf: + /etc/nginx/proxy_params: + /etc/nginx/scgi_params: + /etc/nginx/sites-available/default: + # This symlink is created by the maintainer scipts + /etc/nginx/sites-enabled/default: + symlink: /etc/nginx/sites-available/default + /etc/nginx/snippets/fastcgi-php.conf: + /etc/nginx/snippets/snakeoil.conf: + /etc/nginx/uwsgi_params: + /etc/nginx/win-utf: + # Following are created by the maintainer scripts + /var/lib/nginx/: {make: true} + /var/log/nginx/: {make: true, mode: 0755} + /var/log/nginx/access.log: {text: "", mode: 0640} + /var/log/nginx/error.log: {text: "", mode: 0640} + /var/www/html/: {make: true} + + ufw-config: + contents: + /etc/ufw/applications.d/nginx: + + apport: + contents: + /usr/share/apport/package-hooks/source_nginx.py: + + index: + contents: + /usr/share/nginx/html/index.html: + /var/www/html/index.nginx-debian.html: + copy: /usr/share/nginx/html/index.html + + modules: + contents: + /usr/share/nginx/modules: + + vim-addons: + essential: + - nginx-common_vim-config + contents: + /usr/share/vim/addons/ftdetect/nginx.vim: + /usr/share/vim/addons/ftplugin/nginx.vim: + /usr/share/vim/addons/indent/nginx.vim: + /usr/share/vim/addons/syntax/nginx.vim: + + vim-config: + contents: + /usr/share/vim/registry/nginx.yaml: + + copyright: + contents: + /usr/share/doc/nginx-common/copyright: diff --git a/slices/nginx.yaml b/slices/nginx.yaml new file mode 100644 index 000000000..2399e0a5c --- /dev/null +++ b/slices/nginx.yaml @@ -0,0 +1,24 @@ +package: nginx + +essential: + - nginx_copyright + +slices: + bins: + essential: + # iproute2 seems to only be required for executing the maintainer + # scripts, which is something that is handled differently in Chisel. + # - iproute2_bins + - libc6_libs + - libcrypt1_libs + - libpcre2-8-0_libs + - libssl3t64_libs + - nginx-common_config + - nginx-common_modules + - zlib1g_libs + contents: + /usr/sbin/nginx: + + copyright: + contents: + /usr/share/doc/nginx/copyright: diff --git a/slices/openjdk-11-jre-headless.yaml b/slices/openjdk-11-jre-headless.yaml index 3b2d5c77d..be246c315 100644 --- a/slices/openjdk-11-jre-headless.yaml +++ b/slices/openjdk-11-jre-headless.yaml @@ -131,7 +131,7 @@ slices: # Security configuration files and native libraries security: essential: - - libnss3_libs + - libnss3_nss - libpcsclite1_libs - openjdk-11-jre-headless_core contents: diff --git a/slices/openjdk-17-jre-headless.yaml b/slices/openjdk-17-jre-headless.yaml index 45d5c1b1c..89f32df2f 100644 --- a/slices/openjdk-17-jre-headless.yaml +++ b/slices/openjdk-17-jre-headless.yaml @@ -118,7 +118,7 @@ slices: # Security configuration files and native libraries security: essential: - - libnss3_libs + - libnss3_nss - libpcsclite1_libs - openjdk-17-jre-headless_core contents: diff --git a/slices/openjdk-21-jre-headless.yaml b/slices/openjdk-21-jre-headless.yaml index 659afe8b3..6408968ab 100644 --- a/slices/openjdk-21-jre-headless.yaml +++ b/slices/openjdk-21-jre-headless.yaml @@ -130,7 +130,7 @@ slices: # Security configuration files and native libraries security: essential: - - libnss3_libs + - libnss3_nss - libpcsclite1_libs - openjdk-21-jre-headless_core contents: diff --git a/slices/openjdk-8-jre-headless.yaml b/slices/openjdk-8-jre-headless.yaml index 2d247c955..8796e3733 100644 --- a/slices/openjdk-8-jre-headless.yaml +++ b/slices/openjdk-8-jre-headless.yaml @@ -80,7 +80,7 @@ slices: # of the runtime. security: essential: - - libnss3_libs + - libnss3_nss - libpcsclite1_libs - openjdk-8-jre-headless_core contents: diff --git a/slices/python3-minimal.yaml b/slices/python3-minimal.yaml new file mode 100644 index 000000000..77123860f --- /dev/null +++ b/slices/python3-minimal.yaml @@ -0,0 +1,38 @@ +package: python3-minimal + +essential: + - python3-minimal_copyright + +slices: + bins: + essential: + - python3-minimal_py3compile + - python3-minimal_py3versions + - python3-minimal_python3 + + py3compile: + essential: + - python3-minimal_python3 + contents: + /usr/bin/py3clean: + /usr/bin/py3compile: + /usr/share/python3/debian_defaults: + /usr/share/python3/debpython/*: + + py3versions: + essential: + - python3-minimal_python3 + contents: + /usr/bin/py3versions: + /usr/share/python3/debian_defaults: + /usr/share/python3/py3versions.py: + + python3: + essential: + - python3.12-minimal_bins + contents: + /usr/bin/python3: + + copyright: + contents: + /usr/share/doc/python3-minimal/copyright: diff --git a/slices/python3-pip.yaml b/slices/python3-pip.yaml new file mode 100644 index 000000000..8b2a70498 --- /dev/null +++ b/slices/python3-pip.yaml @@ -0,0 +1,26 @@ +package: python3-pip + +essential: + - python3-pip_copyright + +slices: + bins: + essential: + - python3-pip_libs + contents: + /usr/bin/pip: + /usr/bin/pip3: + + libs: + essential: + - ca-certificates_data + - python3-setuptools_libs + - python3-wheel_libs + - python3_standard + contents: + /usr/lib/python3/dist-packages/pip-*.dist-info/**: + /usr/lib/python3/dist-packages/pip/**: + + copyright: + contents: + /usr/share/doc/python3-pip/copyright: diff --git a/slices/python3-pkg-resources.yaml b/slices/python3-pkg-resources.yaml new file mode 100644 index 000000000..e46753b74 --- /dev/null +++ b/slices/python3-pkg-resources.yaml @@ -0,0 +1,15 @@ +package: python3-pkg-resources + +essential: + - python3-pkg-resources_copyright + +slices: + libs: + essential: + - python3_standard + contents: + /usr/lib/python3/dist-packages/pkg_resources/**: + + copyright: + contents: + /usr/share/doc/python3-pkg-resources/copyright: diff --git a/slices/python3-pyftpdlib.yaml b/slices/python3-pyftpdlib.yaml new file mode 100644 index 000000000..380da1b73 --- /dev/null +++ b/slices/python3-pyftpdlib.yaml @@ -0,0 +1,15 @@ +package: python3-pyftpdlib + +essential: + - python3-pyftpdlib_copyright + +slices: + libs: + essential: + - python3_standard + contents: + /usr/lib/python3/dist-packages/pyftpdlib/*.py: + + copyright: + contents: + /usr/share/doc/python3-pyftpdlib/copyright: diff --git a/slices/python3-setuptools.yaml b/slices/python3-setuptools.yaml new file mode 100644 index 000000000..0d8bb4bd2 --- /dev/null +++ b/slices/python3-setuptools.yaml @@ -0,0 +1,18 @@ +package: python3-setuptools + +essential: + - python3-setuptools_copyright + +slices: + libs: + essential: + - python3-pkg-resources_libs + - python3_standard + contents: + /usr/lib/python3/dist-packages/_distutils_hack/**: + /usr/lib/python3/dist-packages/setuptools-*.egg-info/**: + /usr/lib/python3/dist-packages/setuptools/**: + + copyright: + contents: + /usr/share/doc/python3-setuptools/copyright: diff --git a/slices/python3-wheel.yaml b/slices/python3-wheel.yaml new file mode 100644 index 000000000..22efca184 --- /dev/null +++ b/slices/python3-wheel.yaml @@ -0,0 +1,16 @@ +package: python3-wheel + +essential: + - python3-wheel_copyright + +slices: + libs: + essential: + - python3_standard + contents: + /usr/lib/python3/dist-packages/wheel-*.dist-info/**: + /usr/lib/python3/dist-packages/wheel/**: + + copyright: + contents: + /usr/share/doc/python3-wheel/copyright: diff --git a/slices/python3.yaml b/slices/python3.yaml new file mode 100644 index 000000000..fee3ecb45 --- /dev/null +++ b/slices/python3.yaml @@ -0,0 +1,57 @@ +package: python3 + +essential: + - python3_copyright + +slices: + core: + essential: + - libpython3-stdlib_core + - python3-minimal_python3 + - python3.12_core + + standard: + essential: + - libpython3-stdlib_aix-support + - libpython3-stdlib_all-os + - libpython3-stdlib_concurrency + - libpython3-stdlib_crypto + - libpython3-stdlib_custom-interpreters + - libpython3-stdlib_data-persistence + - libpython3-stdlib_data-types + - libpython3-stdlib_debug + - libpython3-stdlib_development-tools + - libpython3-stdlib_distribution + - libpython3-stdlib_extras + - libpython3-stdlib_file-formats + - libpython3-stdlib_filesys + - libpython3-stdlib_frameworks + - libpython3-stdlib_importing + - libpython3-stdlib_internet + - libpython3-stdlib_ipc + - libpython3-stdlib_language + - libpython3-stdlib_markup-tools + - libpython3-stdlib_multimedia + - libpython3-stdlib_net-data + - libpython3-stdlib_numeric + - libpython3-stdlib_osx-support + - libpython3-stdlib_pydoc + - libpython3-stdlib_text + - libpython3-stdlib_unix + - python3-minimal_bins + - python3.12_standard + - python3_core + + utils: + essential: + - libpython3-stdlib_debug + - libpython3-stdlib_pydoc + - python3.12_utils + contents: + /usr/bin/pdb3: + /usr/bin/pydoc3: + /usr/bin/pygettext3: + + copyright: + contents: + /usr/share/doc/python3/copyright: diff --git a/slices/redis-server.yaml b/slices/redis-server.yaml new file mode 100644 index 000000000..4eea25cd1 --- /dev/null +++ b/slices/redis-server.yaml @@ -0,0 +1,27 @@ +package: redis-server + +essential: + - redis-server_copyright + +slices: + bins: + essential: + - redis-server_config + - redis-tools_bins + contents: + /usr/bin/redis-server: + + config: + contents: + /etc/redis/redis.conf: + + services: + essential: + - redis-server_bins + contents: + /usr/lib/systemd/system/redis-server.service: + /usr/lib/systemd/system/redis-server@.service: + + copyright: + contents: + /usr/share/doc/redis-server/copyright: diff --git a/slices/redis-tools.yaml b/slices/redis-tools.yaml new file mode 100644 index 000000000..69970dd72 --- /dev/null +++ b/slices/redis-tools.yaml @@ -0,0 +1,26 @@ +package: redis-tools + +essential: + - redis-tools_copyright + +slices: + bins: + # redis-tools actually depends on adduser as well to create and remove + # a user during package install/removal - however we don't support this + # currently so adduser is not added here. + essential: + - libatomic1_libs + - libc6_libs + - libjemalloc2_libs + - liblzf1_libs + - libssl3t64_libs + - libsystemd0_libs + contents: + /usr/bin/redis-benchmark: + /usr/bin/redis-check-aof: + /usr/bin/redis-check-rdb: + /usr/bin/redis-cli: + + copyright: + contents: + /usr/share/doc/redis-tools/copyright: diff --git a/slices/sbsigntool.yaml b/slices/sbsigntool.yaml index c330f9c61..717ae1bd3 100644 --- a/slices/sbsigntool.yaml +++ b/slices/sbsigntool.yaml @@ -1,5 +1,8 @@ package: sbsigntool +essential: + - sbsigntool_copyright + slices: bins: essential: diff --git a/slices/sudo.yaml b/slices/sudo.yaml new file mode 100644 index 000000000..6e9507472 --- /dev/null +++ b/slices/sudo.yaml @@ -0,0 +1,56 @@ +package: sudo + +essential: + - sudo_copyright + +slices: + bins: + essential: + - libapparmor1_libs + - libaudit1_libs + - libc6_libs + - libpam-modules_libs + - libpam0g_libs + - libselinux1_libs + - libssl3t64_libs + - sudo_config + - sudo_libs + - zlib1g_libs + contents: + /usr/bin/cvtsudoers: + /usr/bin/sudo: + /usr/bin/sudoedit: + /usr/bin/sudoreplay: + /usr/libexec/sudo/sesh: + /usr/sbin/sudo_logsrvd: + /usr/sbin/sudo_sendlog: + /usr/sbin/visudo: + + config: + contents: + /etc/pam.d/sudo: + /etc/pam.d/sudo-i: + /etc/sudo.conf: + /etc/sudo_logsrvd.conf: + /etc/sudoers: + /usr/lib/tmpfiles.d/sudo.conf: + + services: + essential: + - sudo_bins + contents: + /usr/lib/systemd/system/sudo.service: + + libs: + contents: + /usr/libexec/sudo/audit_json.so: + /usr/libexec/sudo/group_file.so: + /usr/libexec/sudo/libsudo_util.so*: + /usr/libexec/sudo/sudo_intercept.so: + /usr/libexec/sudo/sudo_noexec.so: + /usr/libexec/sudo/sudoers.so: + /usr/libexec/sudo/system_group.so: + + copyright: + contents: + /usr/share/doc/sudo/copyright: diff --git a/slices/tzdata-legacy.yaml b/slices/tzdata-legacy.yaml new file mode 100644 index 000000000..f0ae32978 --- /dev/null +++ b/slices/tzdata-legacy.yaml @@ -0,0 +1,271 @@ +package: tzdata-legacy + +essential: + - tzdata-legacy_copyright + +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. + base: + essential: + - tzdata_base + contents: + /usr/share/zoneinfo/right/CET: + /usr/share/zoneinfo/right/CST6CDT: + /usr/share/zoneinfo/right/EET: + /usr/share/zoneinfo/right/EST: + /usr/share/zoneinfo/right/EST5EDT: + /usr/share/zoneinfo/right/Factory: + /usr/share/zoneinfo/right/HST: + /usr/share/zoneinfo/right/MET: + /usr/share/zoneinfo/right/MST: + /usr/share/zoneinfo/right/MST7MDT: + /usr/share/zoneinfo/right/PST8PDT: + /usr/share/zoneinfo/right/WET: + + africa: + essential: + - tzdata_africa + contents: + /usr/share/zoneinfo/Africa/Asmera: + /usr/share/zoneinfo/Egypt: + /usr/share/zoneinfo/Libya: + /usr/share/zoneinfo/right/Africa/**: + /usr/share/zoneinfo/right/Egypt: + /usr/share/zoneinfo/right/Libya: + + america: + essential: + - tzdata_america + contents: + /usr/share/zoneinfo/America/Argentina/ComodRivadavia: + /usr/share/zoneinfo/America/Buenos_Aires: + /usr/share/zoneinfo/America/Catamarca: + /usr/share/zoneinfo/America/Cordoba: + /usr/share/zoneinfo/America/Fort_Wayne: + /usr/share/zoneinfo/America/Godthab: + /usr/share/zoneinfo/America/Indianapolis: + /usr/share/zoneinfo/America/Jujuy: + /usr/share/zoneinfo/America/Knox_IN: + /usr/share/zoneinfo/America/Louisville: + /usr/share/zoneinfo/America/Mendoza: + /usr/share/zoneinfo/America/Rosario: + /usr/share/zoneinfo/Cuba: + /usr/share/zoneinfo/Jamaica: + /usr/share/zoneinfo/Navajo: + /usr/share/zoneinfo/right/America/**: + /usr/share/zoneinfo/right/Cuba: + /usr/share/zoneinfo/right/Jamaica: + /usr/share/zoneinfo/right/Navajo: + + antarctica: + essential: + - tzdata_antarctica + contents: + /usr/share/zoneinfo/Antarctica/South_Pole: + /usr/share/zoneinfo/right/Antarctica/**: + + arctic: + essential: + - tzdata-legacy_eurasia + - tzdata_arctic + contents: + /usr/share/zoneinfo/right/Arctic/*: + + atlantic: + essential: + - tzdata-legacy_eurasia + - tzdata_atlantic + contents: + /usr/share/zoneinfo/Atlantic/Faeroe: + /usr/share/zoneinfo/right/Atlantic/**: + + australia: + essential: + - tzdata_australia + contents: + /usr/share/zoneinfo/Australia/ACT: + /usr/share/zoneinfo/Australia/LHI: + /usr/share/zoneinfo/Australia/NSW: + /usr/share/zoneinfo/Australia/North: + /usr/share/zoneinfo/Australia/Queensland: + /usr/share/zoneinfo/Australia/South: + /usr/share/zoneinfo/Australia/Tasmania: + /usr/share/zoneinfo/Australia/Victoria: + /usr/share/zoneinfo/Australia/West: + /usr/share/zoneinfo/right/Australia/**: + + # Some countries, although geographically belonging to a continent, are kept + # in their own slice since that is how they are structured in the tzdata deb. + brazil: + essential: + - tzdata-legacy_america + contents: + /usr/share/zoneinfo/Brazil/Acre: + /usr/share/zoneinfo/Brazil/DeNoronha: + /usr/share/zoneinfo/Brazil/East: + /usr/share/zoneinfo/Brazil/West: + /usr/share/zoneinfo/right/Brazil/**: + + canada: + essential: + - tzdata-legacy_america + contents: + /usr/share/zoneinfo/Canada/**: + /usr/share/zoneinfo/right/Canada/**: + + chile: + essential: + - tzdata-legacy_america + - tzdata-legacy_pacific + contents: + /usr/share/zoneinfo/Chile/**: + /usr/share/zoneinfo/right/Chile/**: + + # "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: + essential: + - tzdata_etc + contents: + /usr/share/zoneinfo/GMT+0: + /usr/share/zoneinfo/GMT-0: + /usr/share/zoneinfo/GMT0: + /usr/share/zoneinfo/Greenwich: + /usr/share/zoneinfo/UCT: + /usr/share/zoneinfo/Universal: + /usr/share/zoneinfo/Zulu: + /usr/share/zoneinfo/right/Etc/**: + /usr/share/zoneinfo/right/GMT: + /usr/share/zoneinfo/right/GMT+0: + /usr/share/zoneinfo/right/GMT-0: + /usr/share/zoneinfo/right/GMT0: + /usr/share/zoneinfo/right/Greenwich: + /usr/share/zoneinfo/right/UCT: + /usr/share/zoneinfo/right/UTC: + /usr/share/zoneinfo/right/Universal: + /usr/share/zoneinfo/right/Zulu: + + eurasia: + essential: + - tzdata_eurasia + contents: + /usr/share/zoneinfo/Asia/Ashkhabad: + /usr/share/zoneinfo/Asia/Calcutta: + /usr/share/zoneinfo/Asia/Chungking: + /usr/share/zoneinfo/Asia/Dacca: + /usr/share/zoneinfo/Asia/Katmandu: + /usr/share/zoneinfo/Asia/Macao: + /usr/share/zoneinfo/Asia/Rangoon: + /usr/share/zoneinfo/Asia/Saigon: + /usr/share/zoneinfo/Asia/Thimbu: + /usr/share/zoneinfo/Asia/Ujung_Pandang: + /usr/share/zoneinfo/Asia/Ulan_Bator: + /usr/share/zoneinfo/Eire: + /usr/share/zoneinfo/Europe/Kiev: + /usr/share/zoneinfo/Europe/Uzhgorod: + /usr/share/zoneinfo/Europe/Zaporozhye: + /usr/share/zoneinfo/GB: + /usr/share/zoneinfo/GB-Eire: + /usr/share/zoneinfo/Hongkong: + /usr/share/zoneinfo/Iran: + /usr/share/zoneinfo/Israel: + /usr/share/zoneinfo/Japan: + /usr/share/zoneinfo/PRC: + /usr/share/zoneinfo/Poland: + /usr/share/zoneinfo/Portugal: + /usr/share/zoneinfo/ROC: + /usr/share/zoneinfo/ROK: + /usr/share/zoneinfo/Singapore: + /usr/share/zoneinfo/Turkey: + /usr/share/zoneinfo/W-SU: + /usr/share/zoneinfo/right/Asia/**: + /usr/share/zoneinfo/right/Eire: + /usr/share/zoneinfo/right/Europe/**: + /usr/share/zoneinfo/right/GB: + /usr/share/zoneinfo/right/GB-Eire: + /usr/share/zoneinfo/right/Hongkong: + /usr/share/zoneinfo/right/Iran: + /usr/share/zoneinfo/right/Israel: + /usr/share/zoneinfo/right/Japan: + /usr/share/zoneinfo/right/PRC: + /usr/share/zoneinfo/right/Poland: + /usr/share/zoneinfo/right/Portugal: + /usr/share/zoneinfo/right/ROC: + /usr/share/zoneinfo/right/ROK: + /usr/share/zoneinfo/right/Singapore: + /usr/share/zoneinfo/right/Turkey: + /usr/share/zoneinfo/right/W-SU: + + iceland: + essential: + - tzdata-legacy_atlantic + contents: + /usr/share/zoneinfo/Iceland: + /usr/share/zoneinfo/right/Iceland: + + indian: + essential: + - tzdata_indian + contents: + /usr/share/zoneinfo/right/Indian/**: + + mexico: + essential: + - tzdata-legacy_america + contents: + /usr/share/zoneinfo/Mexico/*: + /usr/share/zoneinfo/right/Mexico/*: + + pacific: + essential: + - tzdata_pacific + contents: + /usr/share/zoneinfo/Kwajalein: + /usr/share/zoneinfo/NZ: + /usr/share/zoneinfo/NZ-CHAT: + /usr/share/zoneinfo/Pacific/Enderbury: + /usr/share/zoneinfo/Pacific/Ponape: + /usr/share/zoneinfo/Pacific/Truk: + /usr/share/zoneinfo/right/Kwajalein: + /usr/share/zoneinfo/right/NZ: + /usr/share/zoneinfo/right/NZ-CHAT: + /usr/share/zoneinfo/right/Pacific/**: + + united-states: + essential: + - tzdata-legacy_america + - tzdata-legacy_pacific + contents: + /usr/share/zoneinfo/US/*: + /usr/share/zoneinfo/right/US/*: + + # Install all timezones. + zoneinfo: + essential: + - tzdata-legacy_africa + - tzdata-legacy_america + - tzdata-legacy_antarctica + - tzdata-legacy_arctic + - tzdata-legacy_atlantic + - tzdata-legacy_australia + - tzdata-legacy_base + - tzdata-legacy_brazil + - tzdata-legacy_canada + - tzdata-legacy_chile + - tzdata-legacy_etc + - tzdata-legacy_eurasia + - tzdata-legacy_iceland + - tzdata-legacy_indian + - tzdata-legacy_mexico + - tzdata-legacy_pacific + - tzdata-legacy_united-states + - tzdata_zoneinfo + + copyright: + contents: + /usr/share/doc/tzdata-legacy/copyright: diff --git a/slices/tzdata.yaml b/slices/tzdata.yaml index 737ee0624..b7f0eed72 100644 --- a/slices/tzdata.yaml +++ b/slices/tzdata.yaml @@ -32,20 +32,227 @@ slices: essential: - tzdata_config contents: - /usr/share/zoneinfo/Africa/**: + /usr/share/zoneinfo/Africa/Abidjan: + /usr/share/zoneinfo/Africa/Accra: + /usr/share/zoneinfo/Africa/Addis_Ababa: + /usr/share/zoneinfo/Africa/Algiers: + /usr/share/zoneinfo/Africa/Asmara: + /usr/share/zoneinfo/Africa/Bamako: + /usr/share/zoneinfo/Africa/Bangui: + /usr/share/zoneinfo/Africa/Banjul: + /usr/share/zoneinfo/Africa/Bissau: + /usr/share/zoneinfo/Africa/Blantyre: + /usr/share/zoneinfo/Africa/Brazzaville: + /usr/share/zoneinfo/Africa/Bujumbura: + /usr/share/zoneinfo/Africa/Cairo: + /usr/share/zoneinfo/Africa/Casablanca: + /usr/share/zoneinfo/Africa/Ceuta: + /usr/share/zoneinfo/Africa/Conakry: + /usr/share/zoneinfo/Africa/Dakar: + /usr/share/zoneinfo/Africa/Dar_es_Salaam: + /usr/share/zoneinfo/Africa/Djibouti: + /usr/share/zoneinfo/Africa/Douala: + /usr/share/zoneinfo/Africa/El_Aaiun: + /usr/share/zoneinfo/Africa/Freetown: + /usr/share/zoneinfo/Africa/Gaborone: + /usr/share/zoneinfo/Africa/Harare: + /usr/share/zoneinfo/Africa/Johannesburg: + /usr/share/zoneinfo/Africa/Juba: + /usr/share/zoneinfo/Africa/Kampala: + /usr/share/zoneinfo/Africa/Khartoum: + /usr/share/zoneinfo/Africa/Kigali: + /usr/share/zoneinfo/Africa/Kinshasa: + /usr/share/zoneinfo/Africa/Lagos: + /usr/share/zoneinfo/Africa/Libreville: + /usr/share/zoneinfo/Africa/Lome: + /usr/share/zoneinfo/Africa/Luanda: + /usr/share/zoneinfo/Africa/Lubumbashi: + /usr/share/zoneinfo/Africa/Lusaka: + /usr/share/zoneinfo/Africa/Malabo: + /usr/share/zoneinfo/Africa/Maputo: + /usr/share/zoneinfo/Africa/Maseru: + /usr/share/zoneinfo/Africa/Mbabane: + /usr/share/zoneinfo/Africa/Mogadishu: + /usr/share/zoneinfo/Africa/Monrovia: + /usr/share/zoneinfo/Africa/Nairobi: + /usr/share/zoneinfo/Africa/Ndjamena: + /usr/share/zoneinfo/Africa/Niamey: + /usr/share/zoneinfo/Africa/Nouakchott: + /usr/share/zoneinfo/Africa/Ouagadougou: + /usr/share/zoneinfo/Africa/Porto-Novo: + /usr/share/zoneinfo/Africa/Sao_Tome: + /usr/share/zoneinfo/Africa/Timbuktu: + /usr/share/zoneinfo/Africa/Tripoli: + /usr/share/zoneinfo/Africa/Tunis: + /usr/share/zoneinfo/Africa/Windhoek: america: essential: - tzdata_config contents: - /usr/share/zoneinfo/America/**: + /usr/share/zoneinfo/America/Adak: + /usr/share/zoneinfo/America/Anchorage: + /usr/share/zoneinfo/America/Anguilla: + /usr/share/zoneinfo/America/Antigua: + /usr/share/zoneinfo/America/Araguaina: + /usr/share/zoneinfo/America/Argentina/Buenos_Aires: + /usr/share/zoneinfo/America/Argentina/Catamarca: + /usr/share/zoneinfo/America/Argentina/Cordoba: + /usr/share/zoneinfo/America/Argentina/Jujuy: + /usr/share/zoneinfo/America/Argentina/La_Rioja: + /usr/share/zoneinfo/America/Argentina/Mendoza: + /usr/share/zoneinfo/America/Argentina/Rio_Gallegos: + /usr/share/zoneinfo/America/Argentina/Salta: + /usr/share/zoneinfo/America/Argentina/San_Juan: + /usr/share/zoneinfo/America/Argentina/San_Luis: + /usr/share/zoneinfo/America/Argentina/Tucuman: + /usr/share/zoneinfo/America/Argentina/Ushuaia: + /usr/share/zoneinfo/America/Aruba: + /usr/share/zoneinfo/America/Asuncion: + /usr/share/zoneinfo/America/Atikokan: + /usr/share/zoneinfo/America/Atka: + /usr/share/zoneinfo/America/Bahia: + /usr/share/zoneinfo/America/Bahia_Banderas: + /usr/share/zoneinfo/America/Barbados: + /usr/share/zoneinfo/America/Belem: + /usr/share/zoneinfo/America/Belize: + /usr/share/zoneinfo/America/Blanc-Sablon: + /usr/share/zoneinfo/America/Boa_Vista: + /usr/share/zoneinfo/America/Bogota: + /usr/share/zoneinfo/America/Boise: + /usr/share/zoneinfo/America/Cambridge_Bay: + /usr/share/zoneinfo/America/Campo_Grande: + /usr/share/zoneinfo/America/Cancun: + /usr/share/zoneinfo/America/Caracas: + /usr/share/zoneinfo/America/Cayenne: + /usr/share/zoneinfo/America/Cayman: + /usr/share/zoneinfo/America/Chicago: + /usr/share/zoneinfo/America/Chihuahua: + /usr/share/zoneinfo/America/Ciudad_Juarez: + /usr/share/zoneinfo/America/Coral_Harbour: + /usr/share/zoneinfo/America/Costa_Rica: + /usr/share/zoneinfo/America/Creston: + /usr/share/zoneinfo/America/Cuiaba: + /usr/share/zoneinfo/America/Curacao: + /usr/share/zoneinfo/America/Danmarkshavn: + /usr/share/zoneinfo/America/Dawson: + /usr/share/zoneinfo/America/Dawson_Creek: + /usr/share/zoneinfo/America/Denver: + /usr/share/zoneinfo/America/Detroit: + /usr/share/zoneinfo/America/Dominica: + /usr/share/zoneinfo/America/Edmonton: + /usr/share/zoneinfo/America/Eirunepe: + /usr/share/zoneinfo/America/El_Salvador: + /usr/share/zoneinfo/America/Ensenada: + /usr/share/zoneinfo/America/Fort_Nelson: + /usr/share/zoneinfo/America/Fortaleza: + /usr/share/zoneinfo/America/Glace_Bay: + /usr/share/zoneinfo/America/Goose_Bay: + /usr/share/zoneinfo/America/Grand_Turk: + /usr/share/zoneinfo/America/Grenada: + /usr/share/zoneinfo/America/Guadeloupe: + /usr/share/zoneinfo/America/Guatemala: + /usr/share/zoneinfo/America/Guayaquil: + /usr/share/zoneinfo/America/Guyana: + /usr/share/zoneinfo/America/Halifax: + /usr/share/zoneinfo/America/Havana: + /usr/share/zoneinfo/America/Hermosillo: + /usr/share/zoneinfo/America/Indiana/**: + /usr/share/zoneinfo/America/Inuvik: + /usr/share/zoneinfo/America/Iqaluit: + /usr/share/zoneinfo/America/Jamaica: + /usr/share/zoneinfo/America/Juneau: + /usr/share/zoneinfo/America/Kentucky/**: + /usr/share/zoneinfo/America/Kralendijk: + /usr/share/zoneinfo/America/La_Paz: + /usr/share/zoneinfo/America/Lima: + /usr/share/zoneinfo/America/Los_Angeles: + /usr/share/zoneinfo/America/Lower_Princes: + /usr/share/zoneinfo/America/Maceio: + /usr/share/zoneinfo/America/Managua: + /usr/share/zoneinfo/America/Manaus: + /usr/share/zoneinfo/America/Marigot: + /usr/share/zoneinfo/America/Martinique: + /usr/share/zoneinfo/America/Matamoros: + /usr/share/zoneinfo/America/Mazatlan: + /usr/share/zoneinfo/America/Menominee: + /usr/share/zoneinfo/America/Merida: + /usr/share/zoneinfo/America/Metlakatla: + /usr/share/zoneinfo/America/Mexico_City: + /usr/share/zoneinfo/America/Miquelon: + /usr/share/zoneinfo/America/Moncton: + /usr/share/zoneinfo/America/Monterrey: + /usr/share/zoneinfo/America/Montevideo: + /usr/share/zoneinfo/America/Montreal: + /usr/share/zoneinfo/America/Montserrat: + /usr/share/zoneinfo/America/Nassau: + /usr/share/zoneinfo/America/New_York: + /usr/share/zoneinfo/America/Nipigon: + /usr/share/zoneinfo/America/Nome: + /usr/share/zoneinfo/America/Noronha: + /usr/share/zoneinfo/America/North_Dakota/**: + /usr/share/zoneinfo/America/Nuuk: + /usr/share/zoneinfo/America/Ojinaga: + /usr/share/zoneinfo/America/Panama: + /usr/share/zoneinfo/America/Pangnirtung: + /usr/share/zoneinfo/America/Paramaribo: + /usr/share/zoneinfo/America/Phoenix: + /usr/share/zoneinfo/America/Port-au-Prince: + /usr/share/zoneinfo/America/Port_of_Spain: + /usr/share/zoneinfo/America/Porto_Acre: + /usr/share/zoneinfo/America/Porto_Velho: + /usr/share/zoneinfo/America/Puerto_Rico: + /usr/share/zoneinfo/America/Punta_Arenas: + /usr/share/zoneinfo/America/Rainy_River: + /usr/share/zoneinfo/America/Rankin_Inlet: + /usr/share/zoneinfo/America/Recife: + /usr/share/zoneinfo/America/Regina: + /usr/share/zoneinfo/America/Resolute: + /usr/share/zoneinfo/America/Rio_Branco: + /usr/share/zoneinfo/America/Santa_Isabel: + /usr/share/zoneinfo/America/Santarem: + /usr/share/zoneinfo/America/Santiago: + /usr/share/zoneinfo/America/Santo_Domingo: + /usr/share/zoneinfo/America/Sao_Paulo: + /usr/share/zoneinfo/America/Scoresbysund: + /usr/share/zoneinfo/America/Shiprock: + /usr/share/zoneinfo/America/Sitka: + /usr/share/zoneinfo/America/St_Barthelemy: + /usr/share/zoneinfo/America/St_Johns: + /usr/share/zoneinfo/America/St_Kitts: + /usr/share/zoneinfo/America/St_Lucia: + /usr/share/zoneinfo/America/St_Thomas: + /usr/share/zoneinfo/America/St_Vincent: + /usr/share/zoneinfo/America/Swift_Current: + /usr/share/zoneinfo/America/Tegucigalpa: + /usr/share/zoneinfo/America/Thule: + /usr/share/zoneinfo/America/Thunder_Bay: + /usr/share/zoneinfo/America/Tijuana: + /usr/share/zoneinfo/America/Toronto: + /usr/share/zoneinfo/America/Tortola: + /usr/share/zoneinfo/America/Vancouver: + /usr/share/zoneinfo/America/Virgin: + /usr/share/zoneinfo/America/Whitehorse: + /usr/share/zoneinfo/America/Winnipeg: + /usr/share/zoneinfo/America/Yakutat: + /usr/share/zoneinfo/America/Yellowknife: /usr/share/zoneinfo/posixrules: antarctica: essential: - tzdata_config contents: - /usr/share/zoneinfo/Antarctica/**: + /usr/share/zoneinfo/Antarctica/Casey: + /usr/share/zoneinfo/Antarctica/Davis: + /usr/share/zoneinfo/Antarctica/DumontDUrville: + /usr/share/zoneinfo/Antarctica/Macquarie: + /usr/share/zoneinfo/Antarctica/Mawson: + /usr/share/zoneinfo/Antarctica/McMurdo: + /usr/share/zoneinfo/Antarctica/Palmer: + /usr/share/zoneinfo/Antarctica/Rothera: + /usr/share/zoneinfo/Antarctica/Syowa: + /usr/share/zoneinfo/Antarctica/Troll: + /usr/share/zoneinfo/Antarctica/Vostok: arctic: essential: @@ -59,13 +266,36 @@ slices: - tzdata_config - tzdata_eurasia contents: - /usr/share/zoneinfo/Atlantic/**: + /usr/share/zoneinfo/Atlantic/Azores: + /usr/share/zoneinfo/Atlantic/Bermuda: + /usr/share/zoneinfo/Atlantic/Canary: + /usr/share/zoneinfo/Atlantic/Cape_Verde: + /usr/share/zoneinfo/Atlantic/Faroe: + /usr/share/zoneinfo/Atlantic/Jan_Mayen: + /usr/share/zoneinfo/Atlantic/Madeira: + /usr/share/zoneinfo/Atlantic/Reykjavik: + /usr/share/zoneinfo/Atlantic/South_Georgia: + /usr/share/zoneinfo/Atlantic/St_Helena: + /usr/share/zoneinfo/Atlantic/Stanley: australia: essential: - tzdata_config contents: - /usr/share/zoneinfo/Australia/**: + /usr/share/zoneinfo/Australia/Adelaide: + /usr/share/zoneinfo/Australia/Brisbane: + /usr/share/zoneinfo/Australia/Broken_Hill: + /usr/share/zoneinfo/Australia/Canberra: + /usr/share/zoneinfo/Australia/Currie: + /usr/share/zoneinfo/Australia/Darwin: + /usr/share/zoneinfo/Australia/Eucla: + /usr/share/zoneinfo/Australia/Hobart: + /usr/share/zoneinfo/Australia/Lindeman: + /usr/share/zoneinfo/Australia/Lord_Howe: + /usr/share/zoneinfo/Australia/Melbourne: + /usr/share/zoneinfo/Australia/Perth: + /usr/share/zoneinfo/Australia/Sydney: + /usr/share/zoneinfo/Australia/Yancowinna: config: contents: @@ -89,8 +319,155 @@ slices: essential: - tzdata_config contents: - /usr/share/zoneinfo/Asia/**: - /usr/share/zoneinfo/Europe/**: + /usr/share/zoneinfo/Asia/Aden: + /usr/share/zoneinfo/Asia/Almaty: + /usr/share/zoneinfo/Asia/Amman: + /usr/share/zoneinfo/Asia/Anadyr: + /usr/share/zoneinfo/Asia/Aqtau: + /usr/share/zoneinfo/Asia/Aqtobe: + /usr/share/zoneinfo/Asia/Ashgabat: + /usr/share/zoneinfo/Asia/Atyrau: + /usr/share/zoneinfo/Asia/Baghdad: + /usr/share/zoneinfo/Asia/Bahrain: + /usr/share/zoneinfo/Asia/Baku: + /usr/share/zoneinfo/Asia/Bangkok: + /usr/share/zoneinfo/Asia/Barnaul: + /usr/share/zoneinfo/Asia/Beirut: + /usr/share/zoneinfo/Asia/Bishkek: + /usr/share/zoneinfo/Asia/Brunei: + /usr/share/zoneinfo/Asia/Chita: + /usr/share/zoneinfo/Asia/Choibalsan: + /usr/share/zoneinfo/Asia/Chongqing: + /usr/share/zoneinfo/Asia/Colombo: + /usr/share/zoneinfo/Asia/Damascus: + /usr/share/zoneinfo/Asia/Dhaka: + /usr/share/zoneinfo/Asia/Dili: + /usr/share/zoneinfo/Asia/Dubai: + /usr/share/zoneinfo/Asia/Dushanbe: + /usr/share/zoneinfo/Asia/Famagusta: + /usr/share/zoneinfo/Asia/Gaza: + /usr/share/zoneinfo/Asia/Harbin: + /usr/share/zoneinfo/Asia/Hebron: + /usr/share/zoneinfo/Asia/Ho_Chi_Minh: + /usr/share/zoneinfo/Asia/Hong_Kong: + /usr/share/zoneinfo/Asia/Hovd: + /usr/share/zoneinfo/Asia/Irkutsk: + /usr/share/zoneinfo/Asia/Istanbul: + /usr/share/zoneinfo/Asia/Jakarta: + /usr/share/zoneinfo/Asia/Jayapura: + /usr/share/zoneinfo/Asia/Jerusalem: + /usr/share/zoneinfo/Asia/Kabul: + /usr/share/zoneinfo/Asia/Kamchatka: + /usr/share/zoneinfo/Asia/Karachi: + /usr/share/zoneinfo/Asia/Kashgar: + /usr/share/zoneinfo/Asia/Kathmandu: + /usr/share/zoneinfo/Asia/Khandyga: + /usr/share/zoneinfo/Asia/Kolkata: + /usr/share/zoneinfo/Asia/Krasnoyarsk: + /usr/share/zoneinfo/Asia/Kuala_Lumpur: + /usr/share/zoneinfo/Asia/Kuching: + /usr/share/zoneinfo/Asia/Kuwait: + /usr/share/zoneinfo/Asia/Macau: + /usr/share/zoneinfo/Asia/Magadan: + /usr/share/zoneinfo/Asia/Makassar: + /usr/share/zoneinfo/Asia/Manila: + /usr/share/zoneinfo/Asia/Muscat: + /usr/share/zoneinfo/Asia/Nicosia: + /usr/share/zoneinfo/Asia/Novokuznetsk: + /usr/share/zoneinfo/Asia/Novosibirsk: + /usr/share/zoneinfo/Asia/Omsk: + /usr/share/zoneinfo/Asia/Oral: + /usr/share/zoneinfo/Asia/Phnom_Penh: + /usr/share/zoneinfo/Asia/Pontianak: + /usr/share/zoneinfo/Asia/Pyongyang: + /usr/share/zoneinfo/Asia/Qatar: + /usr/share/zoneinfo/Asia/Qostanay: + /usr/share/zoneinfo/Asia/Qyzylorda: + /usr/share/zoneinfo/Asia/Riyadh: + /usr/share/zoneinfo/Asia/Sakhalin: + /usr/share/zoneinfo/Asia/Samarkand: + /usr/share/zoneinfo/Asia/Seoul: + /usr/share/zoneinfo/Asia/Shanghai: + /usr/share/zoneinfo/Asia/Singapore: + /usr/share/zoneinfo/Asia/Srednekolymsk: + /usr/share/zoneinfo/Asia/Taipei: + /usr/share/zoneinfo/Asia/Tashkent: + /usr/share/zoneinfo/Asia/Tbilisi: + /usr/share/zoneinfo/Asia/Tehran: + /usr/share/zoneinfo/Asia/Tel_Aviv: + /usr/share/zoneinfo/Asia/Thimphu: + /usr/share/zoneinfo/Asia/Tokyo: + /usr/share/zoneinfo/Asia/Tomsk: + /usr/share/zoneinfo/Asia/Ulaanbaatar: + /usr/share/zoneinfo/Asia/Urumqi: + /usr/share/zoneinfo/Asia/Ust-Nera: + /usr/share/zoneinfo/Asia/Vientiane: + /usr/share/zoneinfo/Asia/Vladivostok: + /usr/share/zoneinfo/Asia/Yakutsk: + /usr/share/zoneinfo/Asia/Yangon: + /usr/share/zoneinfo/Asia/Yekaterinburg: + /usr/share/zoneinfo/Asia/Yerevan: + /usr/share/zoneinfo/Europe/Amsterdam: + /usr/share/zoneinfo/Europe/Andorra: + /usr/share/zoneinfo/Europe/Astrakhan: + /usr/share/zoneinfo/Europe/Athens: + /usr/share/zoneinfo/Europe/Belfast: + /usr/share/zoneinfo/Europe/Belgrade: + /usr/share/zoneinfo/Europe/Berlin: + /usr/share/zoneinfo/Europe/Bratislava: + /usr/share/zoneinfo/Europe/Brussels: + /usr/share/zoneinfo/Europe/Bucharest: + /usr/share/zoneinfo/Europe/Budapest: + /usr/share/zoneinfo/Europe/Busingen: + /usr/share/zoneinfo/Europe/Chisinau: + /usr/share/zoneinfo/Europe/Copenhagen: + /usr/share/zoneinfo/Europe/Dublin: + /usr/share/zoneinfo/Europe/Gibraltar: + /usr/share/zoneinfo/Europe/Guernsey: + /usr/share/zoneinfo/Europe/Helsinki: + /usr/share/zoneinfo/Europe/Isle_of_Man: + /usr/share/zoneinfo/Europe/Istanbul: + /usr/share/zoneinfo/Europe/Jersey: + /usr/share/zoneinfo/Europe/Kaliningrad: + /usr/share/zoneinfo/Europe/Kirov: + /usr/share/zoneinfo/Europe/Kyiv: + /usr/share/zoneinfo/Europe/Lisbon: + /usr/share/zoneinfo/Europe/Ljubljana: + /usr/share/zoneinfo/Europe/London: + /usr/share/zoneinfo/Europe/Luxembourg: + /usr/share/zoneinfo/Europe/Madrid: + /usr/share/zoneinfo/Europe/Malta: + /usr/share/zoneinfo/Europe/Mariehamn: + /usr/share/zoneinfo/Europe/Minsk: + /usr/share/zoneinfo/Europe/Monaco: + /usr/share/zoneinfo/Europe/Moscow: + /usr/share/zoneinfo/Europe/Nicosia: + /usr/share/zoneinfo/Europe/Oslo: + /usr/share/zoneinfo/Europe/Paris: + /usr/share/zoneinfo/Europe/Podgorica: + /usr/share/zoneinfo/Europe/Prague: + /usr/share/zoneinfo/Europe/Riga: + /usr/share/zoneinfo/Europe/Rome: + /usr/share/zoneinfo/Europe/Samara: + /usr/share/zoneinfo/Europe/San_Marino: + /usr/share/zoneinfo/Europe/Sarajevo: + /usr/share/zoneinfo/Europe/Saratov: + /usr/share/zoneinfo/Europe/Simferopol: + /usr/share/zoneinfo/Europe/Skopje: + /usr/share/zoneinfo/Europe/Sofia: + /usr/share/zoneinfo/Europe/Stockholm: + /usr/share/zoneinfo/Europe/Tallinn: + /usr/share/zoneinfo/Europe/Tirane: + /usr/share/zoneinfo/Europe/Tiraspol: + /usr/share/zoneinfo/Europe/Ulyanovsk: + /usr/share/zoneinfo/Europe/Vaduz: + /usr/share/zoneinfo/Europe/Vatican: + /usr/share/zoneinfo/Europe/Vienna: + /usr/share/zoneinfo/Europe/Vilnius: + /usr/share/zoneinfo/Europe/Volgograd: + /usr/share/zoneinfo/Europe/Warsaw: + /usr/share/zoneinfo/Europe/Zagreb: + /usr/share/zoneinfo/Europe/Zurich: indian: essential: @@ -102,7 +479,47 @@ slices: essential: - tzdata_config contents: - /usr/share/zoneinfo/Pacific/**: + /usr/share/zoneinfo/Pacific/Apia: + /usr/share/zoneinfo/Pacific/Auckland: + /usr/share/zoneinfo/Pacific/Bougainville: + /usr/share/zoneinfo/Pacific/Chatham: + /usr/share/zoneinfo/Pacific/Chuuk: + /usr/share/zoneinfo/Pacific/Easter: + /usr/share/zoneinfo/Pacific/Efate: + /usr/share/zoneinfo/Pacific/Fakaofo: + /usr/share/zoneinfo/Pacific/Fiji: + /usr/share/zoneinfo/Pacific/Funafuti: + /usr/share/zoneinfo/Pacific/Galapagos: + /usr/share/zoneinfo/Pacific/Gambier: + /usr/share/zoneinfo/Pacific/Guadalcanal: + /usr/share/zoneinfo/Pacific/Guam: + /usr/share/zoneinfo/Pacific/Honolulu: + /usr/share/zoneinfo/Pacific/Johnston: + /usr/share/zoneinfo/Pacific/Kanton: + /usr/share/zoneinfo/Pacific/Kiritimati: + /usr/share/zoneinfo/Pacific/Kosrae: + /usr/share/zoneinfo/Pacific/Kwajalein: + /usr/share/zoneinfo/Pacific/Majuro: + /usr/share/zoneinfo/Pacific/Marquesas: + /usr/share/zoneinfo/Pacific/Midway: + /usr/share/zoneinfo/Pacific/Nauru: + /usr/share/zoneinfo/Pacific/Niue: + /usr/share/zoneinfo/Pacific/Norfolk: + /usr/share/zoneinfo/Pacific/Noumea: + /usr/share/zoneinfo/Pacific/Pago_Pago: + /usr/share/zoneinfo/Pacific/Palau: + /usr/share/zoneinfo/Pacific/Pitcairn: + /usr/share/zoneinfo/Pacific/Pohnpei: + /usr/share/zoneinfo/Pacific/Port_Moresby: + /usr/share/zoneinfo/Pacific/Rarotonga: + /usr/share/zoneinfo/Pacific/Saipan: + /usr/share/zoneinfo/Pacific/Samoa: + /usr/share/zoneinfo/Pacific/Tahiti: + /usr/share/zoneinfo/Pacific/Tarawa: + /usr/share/zoneinfo/Pacific/Tongatapu: + /usr/share/zoneinfo/Pacific/Wake: + /usr/share/zoneinfo/Pacific/Wallis: + /usr/share/zoneinfo/Pacific/Yap: # Install all timezones. zoneinfo: diff --git a/slices/x11-common.yaml b/slices/x11-common.yaml new file mode 100644 index 000000000..0acc5cbed --- /dev/null +++ b/slices/x11-common.yaml @@ -0,0 +1,19 @@ +package: x11-common + +essential: + - x11-common_copyright + +slices: + resources: + contents: + /etc/X11/Xresources/x11-common: + + services: + essential: + - lsb-base_bins + contents: + /etc/init.d/x11-common: + + copyright: + contents: + /usr/share/doc/x11-common/copyright: diff --git a/slices/xdg-user-dirs.yaml b/slices/xdg-user-dirs.yaml new file mode 100644 index 000000000..e2e67336d --- /dev/null +++ b/slices/xdg-user-dirs.yaml @@ -0,0 +1,24 @@ +package: xdg-user-dirs + +essential: + - xdg-user-dirs_copyright + +slices: + config: + essential: + - libc6_libs + contents: + /etc/xdg/autostart/xdg-user-dirs.desktop: + /etc/xdg/user-dirs.conf: + /etc/xdg/user-dirs.defaults: + + scripts: + essential: + - xdg-user-dirs_config + contents: + /usr/bin/xdg-user-dir: + /usr/bin/xdg-user-dirs-update: + + copyright: + contents: + /usr/share/doc/xdg-user-dirs/copyright: diff --git a/slices/xfonts-encodings.yaml b/slices/xfonts-encodings.yaml new file mode 100644 index 000000000..bd3e7f078 --- /dev/null +++ b/slices/xfonts-encodings.yaml @@ -0,0 +1,64 @@ +package: xfonts-encodings + +essential: + - xfonts-encodings_copyright + +slices: + encodings: + contents: + /usr/share/fonts/X11/encodings/adobe-dingbats.enc.gz: + /usr/share/fonts/X11/encodings/adobe-standard.enc.gz: + /usr/share/fonts/X11/encodings/adobe-symbol.enc.gz: + /usr/share/fonts/X11/encodings/armscii-8.enc.gz: + /usr/share/fonts/X11/encodings/ascii-0.enc.gz: + /usr/share/fonts/X11/encodings/dec-special.enc.gz: + /usr/share/fonts/X11/encodings/encodings.dir: + /usr/share/fonts/X11/encodings/ibm-cp437.enc.gz: + /usr/share/fonts/X11/encodings/ibm-cp850.enc.gz: + /usr/share/fonts/X11/encodings/ibm-cp852.enc.gz: + /usr/share/fonts/X11/encodings/ibm-cp866.enc.gz: + /usr/share/fonts/X11/encodings/iso8859-11.enc.gz: + /usr/share/fonts/X11/encodings/iso8859-13.enc.gz: + /usr/share/fonts/X11/encodings/iso8859-16.enc.gz: + /usr/share/fonts/X11/encodings/iso8859-6.16.enc.gz: + /usr/share/fonts/X11/encodings/iso8859-6.8x.enc.gz: + /usr/share/fonts/X11/encodings/large/: + /usr/share/fonts/X11/encodings/large/big5.eten-0.enc.gz: + /usr/share/fonts/X11/encodings/large/big5hkscs-0.enc.gz: + /usr/share/fonts/X11/encodings/large/cns11643-1.enc.gz: + /usr/share/fonts/X11/encodings/large/cns11643-2.enc.gz: + /usr/share/fonts/X11/encodings/large/cns11643-3.enc.gz: + /usr/share/fonts/X11/encodings/large/encodings.dir: + /usr/share/fonts/X11/encodings/large/gb18030-0.enc.gz: + /usr/share/fonts/X11/encodings/large/gb18030.2000-0.enc.gz: + /usr/share/fonts/X11/encodings/large/gb18030.2000-1.enc.gz: + /usr/share/fonts/X11/encodings/large/gb2312.1980-0.enc.gz: + /usr/share/fonts/X11/encodings/large/gbk-0.enc.gz: + /usr/share/fonts/X11/encodings/large/jisx0201.1976-0.enc.gz: + /usr/share/fonts/X11/encodings/large/jisx0208.1990-0.enc.gz: + /usr/share/fonts/X11/encodings/large/jisx0212.1990-0.enc.gz: + /usr/share/fonts/X11/encodings/large/ksc5601.1987-0.enc.gz: + /usr/share/fonts/X11/encodings/large/ksc5601.1992-3.enc.gz: + /usr/share/fonts/X11/encodings/large/sun.unicode.india-0.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1250.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1251.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1252.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1253.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1254.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1255.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1256.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1257.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-cp1258.enc.gz: + /usr/share/fonts/X11/encodings/microsoft-win3.1.enc.gz: + /usr/share/fonts/X11/encodings/mulearabic-0.enc.gz: + /usr/share/fonts/X11/encodings/mulearabic-1.enc.gz: + /usr/share/fonts/X11/encodings/mulearabic-2.enc.gz: + /usr/share/fonts/X11/encodings/mulelao-1.enc.gz: + /usr/share/fonts/X11/encodings/suneu-greek.enc.gz: + /usr/share/fonts/X11/encodings/tcvn-0.enc.gz: + /usr/share/fonts/X11/encodings/tis620-2.enc.gz: + /usr/share/fonts/X11/encodings/viscii1.1-1.enc.gz: + + copyright: + contents: + /usr/share/doc/xfonts-encodings/copyright: diff --git a/slices/xfonts-utils.yaml b/slices/xfonts-utils.yaml new file mode 100644 index 000000000..688970173 --- /dev/null +++ b/slices/xfonts-utils.yaml @@ -0,0 +1,35 @@ +package: xfonts-utils + +essential: + - xfonts-utils_copyright + +slices: + bins: + essential: + - libc6_libs + - libfontenc1_libs + - libfreetype6_libs + - xfonts-encodings_encodings + - xfonts-utils_utils + - zlib1g_libs + contents: + /usr/bin/bdftopcf: + /usr/bin/bdftruncate: + /usr/bin/fonttosfnt: + /usr/bin/mkfontdir: + /usr/bin/mkfontscale: + /usr/bin/ucs2any: + + utils: + contents: + /usr/share/fonts/X11/util/*: + + scripts: + contents: + /usr/sbin/update-fonts-alias: + /usr/sbin/update-fonts-dir: + /usr/sbin/update-fonts-scale: + + copyright: + contents: + /usr/share/doc/xfonts-utils/copyright: diff --git a/tests/spread/integration/coreutils/task.yaml b/tests/spread/integration/coreutils/task.yaml index 7b1641393..32cd0d624 100644 --- a/tests/spread/integration/coreutils/task.yaml +++ b/tests/spread/integration/coreutils/task.yaml @@ -9,3 +9,7 @@ execute: | rootfs_mkdir="$(install-slices coreutils_mkdir)" chroot "$rootfs_mkdir" mkdir test_dir test -d "$rootfs_mkdir/test_dir" + + # test env + rootfs_env="$(install-slices coreutils_env)" + chroot "$rootfs_env" env --version diff --git a/tests/spread/integration/erlang/task.yaml b/tests/spread/integration/erlang/task.yaml new file mode 100644 index 000000000..2b873f8d2 --- /dev/null +++ b/tests/spread/integration/erlang/task.yaml @@ -0,0 +1,50 @@ +summary: Integration tests for Erlang + +execute: | + # install slices + rootfs="$(install-slices \ + erlang-base_bins \ + erlang-inets_scripts \ + erlang-os-mon_bins \ + erlang-crypto_libs \ + erlang-crypto_modules \ + erlang-eldap_modules \ + erlang-mnesia_modules \ + erlang-parsetools_modules \ + erlang-public-key_modules \ + erlang-runtime-tools_libs \ + erlang-runtime-tools_modules \ + erlang-ssl_modules \ + erlang-syntax-tools_modules \ + erlang-tools_modules \ + erlang-xmerl_modules \ + base-files_base)" + + # preparing the test environment + mkdir -p "$rootfs"/bin "$rootfs"/etc "$rootfs"/dev "$rootfs"/root + cp /bin/sh "$rootfs"/bin/ + cp /etc/resolv.conf "$rootfs"/etc/ + cp /etc/nsswitch.conf "$rootfs"/etc/ + touch "$rootfs"/dev/null + echo "cookie" > "$rootfs"/root/.erlang.cookie + + # test epmd daemon + chroot "$rootfs" /usr/bin/epmd -daemon + + # test erl eval + chroot "$rootfs" /usr/bin/erl -noshell -eval 'io:format("Erlang OK~n"), halt().' | grep "Erlang OK" + + # test escript by executing a simple script + echo '#!/usr/bin/escript' > test_script + echo 'main(_) -> io:format("escript OK~n").' >> test_script + mv test_script "$rootfs" + chroot "$rootfs" /usr/bin/escript test_script + + # test start_embedded to start the embedded environment + chroot "$rootfs" /usr/bin/start_embedded + + # test runcgi.sh from erlang-inets + chroot "$rootfs" /usr/lib/erlang/lib/inets-8.3.1.2/priv/bin/runcgi.sh /bin + + # test snmpc + chroot "$rootfs" snmpc /usr/lib/erlang/lib/snmp-5.13.5/mibs/STANDARD-MIB.mib diff --git a/tests/spread/integration/git/task.yaml b/tests/spread/integration/git/task.yaml new file mode 100644 index 000000000..26a99eab3 --- /dev/null +++ b/tests/spread/integration/git/task.yaml @@ -0,0 +1,157 @@ +summary: Integration tests for git + +environment: + EXTRA_SLICES: "" # No extra slices by default. + # test git_bins + RUN/bins: test_bins + SLICE/bins: git_bins + # test git_http-support + RUN/http_support: test_http_support + SLICE/http_support: git_http-support + EXTRA_SLICES/http_support: ca-certificates_data + # test git_ftp-support + RUN/ftp_support: test_ftp_support + SLICE/ftp_support: git_ftp-support + # test git_daemon + RUN/daemon_support: test_daemon_support + SLICE/daemon_support: git_daemon + +execute: | + + git_rootfs="/" + function chroot_git(){ + # execute git within chroot. We use -C to cd since + # we have no $SHELL to navigate with. + repo="$(realpath -e --relative-to="$git_rootfs" "$PWD")" + chroot "$git_rootfs" /usr/bin/git -C "$repo" "$@" + } + + function setup(){ + mkdir -p "$1/dev/" + mkdir -p "$1/etc/" + + # fake essentials + touch "$1/dev/null" + head -c 500 /dev/urandom > "$1/dev/urandom" + cp /etc/resolv.conf $1/etc/ + mkdir "$1/root" + + # configure + git_rootfs="$1" + pushd "$1" + + } + + function cleanup(){ + popd + } + + function test_bins(){ + chroot_git init + chroot_git config user.email "root@localhost" + chroot_git config user.name "Test Runner" + + echo "Test" > "$1/test.txt" + chroot_git add test.txt + chroot_git commit -m 'test commit' + + chroot_git --no-pager status + chroot_git --no-pager log + + chroot_git blame -L 1,1 test.txt + [[ $(chroot_git ls-files) == "test.txt" ]] + + chroot_git checkout -b test + + chroot_git --no-pager diff master + chroot_git branch + chroot_git checkout master + chroot_git merge test + } + + function test_http_support(){ + chroot_git clone --depth 1 https://git.launchpad.net/ubuntu/+source/hello hello + cd $_ + + chroot_git --no-pager log + chroot_git fetch origin + chroot_git --no-pager branch --remotes --contains $(chroot_git rev-list -n 1 HEAD) + } + + function test_ftp_support(){ + ftp_root=$(install-slices python3-pyftpdlib_libs) + + mkdir -p srv/git/ftp-src + pushd $_ + chroot_git init --bare + chroot_git update-server-info + popd + + cp -r $1/srv $ftp_root + + pushd $ftp_root/srv/git + chroot $ftp_root /usr/bin/python3 -m pyftpdlib -V -p 2121 -d /srv/git & + pyftpdlib_pid=$! + popd + + # wait for server port to become available + while ! fuser 2121/tcp > /dev/null 2>&1 + do + if ! test -d /proc/$pyftpdlib_pid + then + echo "pyftpdlib exited early" + exit 1 + fi + sleep 1 + done + + # Test cloning the repo + chroot_git clone ftp://localhost:2121/ftp-src ftp-dst + + # cleanup + kill -TERM $(fuser 2121/tcp 2>/dev/null) + } + + function test_daemon_support(){ + mkdir -p $1/srv/git/daemon-src + + pushd $1/srv/git/daemon-src + git init + touch test-file + chroot_git add test-file + chroot_git config user.email "root@localhost" + chroot_git config user.name "Test Runner" + chroot_git commit -m "Hello daemon" + popd + + chroot_git daemon \ + --base-path=/srv/git \ + --reuseaddr \ + --listen=127.0.0.1 \ + --verbose \ + --export-all & + daemon_pid=$! + + + # Wait for daemon to start + while ! fuser 9418/tcp > /dev/null 2>&1 + do + if ! test -d /proc/$daemon_pid + then + echo "daemon exited early" + exit 1 + fi + sleep 1 + done + + # Test cloning the repo + chroot_git clone git://localhost/daemon-src daemon-dst + + # Cleanup. TERM or KILL cause git to return an en error. + kill -INT $(fuser 9418/tcp 2>/dev/null) + } + + rootfs=$(install-slices $SLICE $EXTRA_SLICES) + setup $rootfs + $RUN $rootfs + cleanup diff --git a/tests/spread/integration/gosu/task.yaml b/tests/spread/integration/gosu/task.yaml new file mode 100644 index 000000000..dcb1fd837 --- /dev/null +++ b/tests/spread/integration/gosu/task.yaml @@ -0,0 +1,11 @@ +summary: Integration tests for gosu + +execute: | + # Chisel a minimum number of slices to give us a runnable system that we can + # test in. + rootfs="$(install-slices gosu_bins)" + + mkdir -p "${rootfs}"/proc/self + ln -sf /usr/sbin/gosu "${rootfs}"/proc/self/exe + + chroot "${rootfs}/" gosu -h diff --git a/tests/spread/integration/iptables/task.yaml b/tests/spread/integration/iptables/task.yaml new file mode 100644 index 000000000..f89381d1a --- /dev/null +++ b/tests/spread/integration/iptables/task.yaml @@ -0,0 +1,23 @@ +summary: Integration tests for iptables + +execute: | + rootfs="$(install-slices passwd_config libpam-runtime_config netbase_default-hosts sudo_bins iptables_bins)" + host=$(hostname) + + # setup /etc/hosts for the current hostname, otherwise + # sudo will be confused + sed -i "/127.0.0.1\slocalhost/a 127.0.0.1\s$host" "$rootfs"/etc/hosts + + mkdir "$rootfs"/run + + # ensure the command spits something out we can recognize + chroot "$rootfs" sudo iptables-legacy -t filter --list | grep "Chain INPUT" + + # try to check if there is an input rule for this random IP + chroot "$rootfs" sudo iptables-legacy -t filter --check INPUT -s 192.168.1.123 -j DROP 2>&1 | grep "Bad rule" + + # append a random rule + chroot "$rootfs" sudo iptables-legacy -t filter -A INPUT -s 192.168.1.230 -j ACCEPT + + # check it appears + chroot "$rootfs" sudo iptables-legacy --list | grep "192.168.1.230" diff --git a/tests/spread/integration/libnginx-mod-http-headers-more-filter/task.yaml b/tests/spread/integration/libnginx-mod-http-headers-more-filter/task.yaml new file mode 100644 index 000000000..62b0b23dc --- /dev/null +++ b/tests/spread/integration/libnginx-mod-http-headers-more-filter/task.yaml @@ -0,0 +1,9 @@ +summary: Integration tests for libnginx-mod-http-headers-more-filter + +execute: | + # Chisel a minimum number of slices to give us a runnable system that we can + # test in. + rootfs="$(install-slices base-files_var base-passwd_data libnginx-mod-http-headers-more-filter_modules)" + + # This will fail if loading of the NGINX module fails. + chroot "${rootfs}/" nginx -t diff --git a/tests/spread/integration/libpam-runtime/task.yaml b/tests/spread/integration/libpam-runtime/task.yaml new file mode 100644 index 000000000..a49243338 --- /dev/null +++ b/tests/spread/integration/libpam-runtime/task.yaml @@ -0,0 +1,13 @@ +summary: Integration tests for libpam-runtime + +execute: | + rootfs="$(install-slices passwd_config libpam-runtime_config netbase_default-hosts coreutils_bins sudo_bins)" + + # test that libpam correctly generated things + cat "$rootfs"/etc/pam.d/common-account | grep -E "account\s+\[success=1 new_authtok_reqd=done default=ignore\]\s+pam_unix\.so" + cat "$rootfs"/etc/pam.d/common-auth | grep -E "auth\s+\[success=1 default=ignore\]\s+pam_unix\.so\s+nullok" + cat "$rootfs"/etc/pam.d/common-password | grep -E "password\s+\[success=1 default=ignore\]\s+pam_unix\.so\s+obscure\s+yescrypt" + cat "$rootfs"/etc/pam.d/common-session | grep -E "session\s+\[default=1\]\s+pam_permit\.so" + cat "$rootfs"/etc/pam.d/common-session | grep -E "session\s+required\s+pam_unix\.so" + cat "$rootfs"/etc/pam.d/common-session-noninteractive | grep -E "session\s+\[default=1\]\s+pam_permit\.so" + cat "$rootfs"/etc/pam.d/common-session-noninteractive | grep -E "session\s+required\s+pam_unix\.so" diff --git a/tests/spread/integration/nginx/task.yaml b/tests/spread/integration/nginx/task.yaml new file mode 100644 index 000000000..e8920a514 --- /dev/null +++ b/tests/spread/integration/nginx/task.yaml @@ -0,0 +1,8 @@ +summary: Integration tests for nginx + +execute: | + # Chisel a minimum number of slices to give us a runnable system that we can + # test in. + rootfs="$(install-slices base-files_var base-passwd_data nginx_bins)" + + chroot "${rootfs}/" nginx -t diff --git a/tests/spread/integration/openjdk-11-jdk-headless/task.yaml b/tests/spread/integration/openjdk-11-jdk-headless/task.yaml index b5afd1f02..0dc30f86a 100644 --- a/tests/spread/integration/openjdk-11-jdk-headless/task.yaml +++ b/tests/spread/integration/openjdk-11-jdk-headless/task.yaml @@ -11,11 +11,14 @@ execute: | for pid in "${pids[@]}"; do kill "$pid" || true done + apt remove --purge -y openjdk-11-jdk-headless } for sig in INT QUIT HUP TERM; do trap "cleanup; trap - $sig EXIT; kill -s $sig "'"$$"' "$sig"; done trap cleanup EXIT apt install --update -y openjdk-11-jdk-headless + # Need to ensure we're using the right java version + update-java-alternatives --set /usr/lib/jvm/java-1.11.0* # Test different slice installations echo "SLICE=${SLICE}" diff --git a/tests/spread/integration/openjdk-11-jre-headless/task.yaml b/tests/spread/integration/openjdk-11-jre-headless/task.yaml index 114d3387a..9be2aaf70 100644 --- a/tests/spread/integration/openjdk-11-jre-headless/task.yaml +++ b/tests/spread/integration/openjdk-11-jre-headless/task.yaml @@ -16,6 +16,8 @@ execute: | echo "SLICE=${SLICE}" rootfs="$(install-slices openjdk-11-jre-headless_${SLICE} dash_bins)" apt install --update -y openjdk-11-jdk-headless + # Need to ensure we're using the right java version + update-java-alternatives --set /usr/lib/jvm/java-1.11.0* javac *.java jar cvf test.jar *.java cp *.jar ${rootfs}/ @@ -61,3 +63,6 @@ execute: | ;; esac done + +restore: | + apt remove -y --purge openjdk-11-jdk-headless diff --git a/tests/spread/integration/openjdk-17-jdk-headless/task.yaml b/tests/spread/integration/openjdk-17-jdk-headless/task.yaml index a25411f91..7a0f813ba 100644 --- a/tests/spread/integration/openjdk-17-jdk-headless/task.yaml +++ b/tests/spread/integration/openjdk-17-jdk-headless/task.yaml @@ -11,11 +11,14 @@ execute: | for pid in "${pids[@]}"; do kill "$pid" || true done + apt remove --purge -y openjdk-17-jdk-headless } for sig in INT QUIT HUP TERM; do trap "cleanup; trap - $sig EXIT; kill -s $sig "'"$$"' "$sig"; done trap cleanup EXIT apt install --update -y openjdk-17-jdk-headless + # Need to ensure we're using the right java version + update-java-alternatives --set /usr/lib/jvm/java-1.17.0* # Test different slice installations echo "SLICE=${SLICE}" diff --git a/tests/spread/integration/openjdk-17-jre-headless/task.yaml b/tests/spread/integration/openjdk-17-jre-headless/task.yaml index 275c4a6a1..2a2a31dac 100644 --- a/tests/spread/integration/openjdk-17-jre-headless/task.yaml +++ b/tests/spread/integration/openjdk-17-jre-headless/task.yaml @@ -16,6 +16,8 @@ execute: | echo "SLICE=${SLICE}" rootfs="$(install-slices openjdk-17-jre-headless_${SLICE} dash_bins)" apt install --update -y openjdk-11-jdk-headless + # Need to ensure we're using the right java version + update-java-alternatives --set /usr/lib/jvm/java-1.11.0* javac *.java jar cvf test.jar *.java cp *.jar ${rootfs}/ @@ -60,3 +62,6 @@ execute: | ;; esac done + +restore: | + apt remove -y --purge openjdk-11-jdk-headless diff --git a/tests/spread/integration/openjdk-21-jdk-headless/task.yaml b/tests/spread/integration/openjdk-21-jdk-headless/task.yaml index 83023e6fb..e0f6133c0 100644 --- a/tests/spread/integration/openjdk-21-jdk-headless/task.yaml +++ b/tests/spread/integration/openjdk-21-jdk-headless/task.yaml @@ -11,11 +11,14 @@ execute: | for pid in "${pids[@]}"; do kill "$pid" 2>/dev/null done + apt remove -y --purge openjdk-21-jdk-headless } for sig in INT QUIT HUP TERM; do trap "cleanup; trap - $sig EXIT; kill -s $sig "'"$$"' "$sig"; done trap cleanup EXIT apt install --update -y openjdk-21-jdk-headless curl + # Need to ensure we're using the right java version + update-java-alternatives --set /usr/lib/jvm/java-1.21.0* nohup java MonitoringTest.java & pid=$! pids+=("$pid") diff --git a/tests/spread/integration/openjdk-21-jre-headless/task.yaml b/tests/spread/integration/openjdk-21-jre-headless/task.yaml index 00910ca1a..c4772b99c 100644 --- a/tests/spread/integration/openjdk-21-jre-headless/task.yaml +++ b/tests/spread/integration/openjdk-21-jre-headless/task.yaml @@ -17,6 +17,8 @@ execute: | echo "SLICE=${SLICE}" rootfs="$(install-slices openjdk-21-jre-headless_${SLICE})" apt install --update -y openjdk-21-jdk-headless + # Need to ensure we're using the right java version + update-java-alternatives --set /usr/lib/jvm/java-1.21.0* javac *.java cp *.java ${rootfs}/ cp *.class ${rootfs}/ @@ -57,3 +59,6 @@ execute: | ;; esac done + +restore: | + apt remove -y --purge openjdk-21-jdk-headless diff --git a/tests/spread/integration/python3-minimal/task.yaml b/tests/spread/integration/python3-minimal/task.yaml new file mode 100644 index 000000000..6bd051093 --- /dev/null +++ b/tests/spread/integration/python3-minimal/task.yaml @@ -0,0 +1,15 @@ +summary: Integration tests for python3-minimal + +execute: | + # test python3 binary + rootfs_bins="$(install-slices python3-minimal_bins)" + chroot "$rootfs_bins" python3 -c "print('Hello World')" + + # test py3versions + rootfs_py3versions="$(install-slices python3-minimal_py3versions)" + chroot "$rootfs_py3versions" py3versions -d | grep "python3.12" + + # test py3compile + rootfs_py3compile="$(install-slices python3-minimal_py3compile)" + chroot "$rootfs_py3compile" py3compile -h + chroot "$rootfs_py3compile" py3clean -h diff --git a/tests/spread/integration/python3-pip/task.yaml b/tests/spread/integration/python3-pip/task.yaml new file mode 100644 index 000000000..d84b8a457 --- /dev/null +++ b/tests/spread/integration/python3-pip/task.yaml @@ -0,0 +1,8 @@ +summary: Integration tests for python3-pip + +execute: | + rootfs="$(install-slices python3-pip_bins)" + + # Smoke tests. + chroot ${rootfs} /usr/bin/pip --version + chroot ${rootfs} /usr/bin/pip install --upgrade setuptools diff --git a/tests/spread/integration/python3-pyftpdlib/task.yaml b/tests/spread/integration/python3-pyftpdlib/task.yaml new file mode 100644 index 000000000..0bea14e88 --- /dev/null +++ b/tests/spread/integration/python3-pyftpdlib/task.yaml @@ -0,0 +1,64 @@ +summary: Integration tests for python3-pyftpdlib + +execute: | + function wait_for_ftp(){ + sleep 0.3 + while ! nc -z 127.0.0.1 2121 + do + test -d /proc/$pyftpdlib_pid || (echo "pyftpdlib exited early"; exit 1) + sleep 1 + done + } + function cleanup(){ + while [[ -d /proc/$pyftpdlib_pid ]]; do + kill $pyftpdlib_pid || true + sleep 0.1 + done + } + # Still run the cleanup even on test failure. + trap cleanup EXIT + + rootfs="$(install-slices python3-pyftpdlib_libs)" + mkdir "${rootfs}/dev" + mount --bind /dev "${rootfs}/dev" + mkdir -p "${rootfs}"/srv/subdir + echo "Test file" > "${rootfs}"/srv/subdir/test-file + + # Basic install smoke test + + chroot "${rootfs}" python3 -m pyftpdlib --help + + # Anonymous hosting + + chroot "${rootfs}" /usr/bin/python3 -m pyftpdlib \ + --verbose \ + --interface=127.0.0.1 \ + --port=2121 \ + --directory=/srv & + export pyftpdlib_pid=$! + wait_for_ftp + + [[ "$(curl ftp://127.0.0.1:2121/subdir/test-file)" == "Test file" ]] + + cleanup + + # With login and file upload. + + chroot "${rootfs}" /usr/bin/python3 -m pyftpdlib \ + --verbose \ + --interface=127.0.0.1 \ + --port=2121 \ + --directory=/srv \ + --write \ + --username=testy \ + --password=testy & + export pyftpdlib_pid=$! + wait_for_ftp + + [[ "$(curl ftp://testy:testy@127.0.0.1:2121/subdir/test-file)" == "Test file" ]] + + echo "Test upload" > test-upload + curl -T test-upload ftp://testy:testy@127.0.0.1:2121/test-upload + [[ "$(cat "${rootfs}/srv/test-upload")" == "$(cat test-upload)" ]] + + cleanup diff --git a/tests/spread/integration/python3/task.yaml b/tests/spread/integration/python3/task.yaml new file mode 100644 index 000000000..8e4531da6 --- /dev/null +++ b/tests/spread/integration/python3/task.yaml @@ -0,0 +1,14 @@ +summary: Integration tests for Python3 + +environment: + SLICE/core: "core" + SLICE/standard: "standard" + +execute: | + # Test different slice installations + echo "SLICE=${SLICE}" + + rootfs="$(install-slices python3_${SLICE})" + + cp ../python3.12/test_${SLICE}.py "${rootfs}/" + chroot "$rootfs" python3 /test_${SLICE}.py diff --git a/tests/spread/integration/redis-server/task.yaml b/tests/spread/integration/redis-server/task.yaml new file mode 100644 index 000000000..9cfe7426b --- /dev/null +++ b/tests/spread/integration/redis-server/task.yaml @@ -0,0 +1,8 @@ +summary: Integration tests for redis-server + +execute: | + # Chisel a minimum number of slices to give us a runnable system that we can + # test in. + rootfs="$(install-slices redis-server_bins)" + + chroot "${rootfs}/" redis-server -v diff --git a/tests/spread/integration/redis-tools/task.yaml b/tests/spread/integration/redis-tools/task.yaml new file mode 100644 index 000000000..2fb3a0da1 --- /dev/null +++ b/tests/spread/integration/redis-tools/task.yaml @@ -0,0 +1,13 @@ +summary: Integration tests for redis-tools + +execute: | + # Chisel a minimum number of slices to give us a runnable system that we can + # test in. + rootfs="$(install-slices redis-tools_bins)" + + touch "${rootfs}/foo" + + chroot "${rootfs}/" redis-benchmark -v + chroot "${rootfs}/" redis-cli -v + chroot "${rootfs}/" redis-check-aof /foo + chroot "${rootfs}/" redis-check-rdb -v diff --git a/tests/spread/integration/sudo/task.yaml b/tests/spread/integration/sudo/task.yaml new file mode 100644 index 000000000..92b7c30bf --- /dev/null +++ b/tests/spread/integration/sudo/task.yaml @@ -0,0 +1,12 @@ +summary: Integration tests for sudo + +execute: | + rootfs="$(install-slices passwd_config libpam-runtime_config netbase_default-hosts coreutils_bins sudo_bins)" + host=$(hostname) + + # setup /etc/hosts for the current hostname, otherwise + # sudo will be confused + sed -i "/127.0.0.1\tlocalhost/a 127.0.0.1\t$host" "$rootfs"/etc/hosts + + # ensure sudo correctly runs and provides the output "root" + chroot "$rootfs" sudo whoami | grep "root" diff --git a/tests/spread/integration/tzdata-legacy/smoke.sh b/tests/spread/integration/tzdata-legacy/smoke.sh new file mode 100755 index 000000000..f62e45ce4 --- /dev/null +++ b/tests/spread/integration/tzdata-legacy/smoke.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# +# This script smoke tests each tzdata-legacy slice and it simply checks if all +# symbolic link targets are present. + +set -eu + +PKG="tzdata-legacy" +SDF="${PROJECT_PATH}/slices/${PKG}.yaml" + +slices=$(yq '.slices | keys | .[]' "${SDF}") +for s in ${slices[@]}; do + slice="${PKG}_$s" + echo "Testing $slice ..." + rootfs="$(install-slices "$slice")" + + find "$rootfs" -type l -printf "%P\0" | while IFS= read -r -d $'\0' file; do + if [[ ! -e "$rootfs/$file" ]]; then + target="$(readlink "$rootfs/$file")" + echo "symlink /$file -> $target broken" + exit 1 + fi + done +done diff --git a/tests/spread/integration/tzdata-legacy/task.yaml b/tests/spread/integration/tzdata-legacy/task.yaml new file mode 100644 index 000000000..280d1506b --- /dev/null +++ b/tests/spread/integration/tzdata-legacy/task.yaml @@ -0,0 +1,16 @@ +summary: Integration tests for tzdata-legacy + +prepare: | + # Deb arch to GOARCH. + arch="$(dpkg --print-architecture | sed -e 's/armhf/arm/g' -e 's/ppc64el/ppc64le/g')" + # Install yq. + wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${arch} \ + -O /usr/bin/yq + chmod +x /usr/bin/yq + yq --version + # The smoke.sh script needs find and readlink binaries. + apt install -y findutils coreutils + +execute: | + # Run smoke tests. + ./smoke.sh diff --git a/tests/spread/integration/xdg-user-dirs/task.yaml b/tests/spread/integration/xdg-user-dirs/task.yaml new file mode 100644 index 000000000..a3db33d48 --- /dev/null +++ b/tests/spread/integration/xdg-user-dirs/task.yaml @@ -0,0 +1,8 @@ +summary: Integration tests for xdg-user-dirs + +execute: | + rootfs="$(install-slices xdg-user-dirs_scripts)" + + test -d ${rootfs}/etc/xdg/autostart + test -f ${rootfs}/etc/xdg/user-dirs.conf + test -f ${rootfs}/etc/xdg/user-dirs.defaults diff --git a/tests/spread/integration/xfonts-utils/6x13.bdf b/tests/spread/integration/xfonts-utils/6x13.bdf new file mode 100644 index 000000000..66faf02df --- /dev/null +++ b/tests/spread/integration/xfonts-utils/6x13.bdf @@ -0,0 +1,52 @@ +STARTFONT 2.1 +COMMENT $Id$ +COMMENT Send bug reports to Markus Kuhn +FONT -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 +SIZE 12 75 75 +FONTBOUNDINGBOX 6 13 0 -2 +STARTPROPERTIES 22 +FONTNAME_REGISTRY "" +FOUNDRY "Misc" +FAMILY_NAME "Fixed" +WEIGHT_NAME "Medium" +SLANT "R" +SETWIDTH_NAME "SemiCondensed" +ADD_STYLE_NAME "" +PIXEL_SIZE 13 +POINT_SIZE 120 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 60 +CHARSET_REGISTRY "ISO10646" +CHARSET_ENCODING "1" +DEFAULT_CHAR 0 +FONT_DESCENT 2 +FONT_ASCENT 11 +COPYRIGHT "Public domain font. Share and enjoy." +_XMBDFED_INFO "Edited with xmbdfed 4.5." +CAP_HEIGHT 9 +X_HEIGHT 6 +ENDPROPERTIES +CHARS 4430 +STARTCHAR char0 +ENCODING 0 +SWIDTH 480 0 +DWIDTH 6 0 +BBX 6 13 0 -2 +BITMAP +00 +00 +A8 +00 +88 +00 +88 +00 +88 +00 +A8 +00 +00 +ENDCHAR +ENDFONT diff --git a/tests/spread/integration/xfonts-utils/sample.bdf b/tests/spread/integration/xfonts-utils/sample.bdf new file mode 100644 index 000000000..a8e4d3d72 --- /dev/null +++ b/tests/spread/integration/xfonts-utils/sample.bdf @@ -0,0 +1,47 @@ +STARTFONT 2.1 +FONT -FontForge-sample-Regular-R-Normal--2-20-75-75-C-20-FontSpecific-0 +SIZE 2 75 75 +FONTBOUNDINGBOX 1 1 0 1 +COMMENT "Generated by fontforge, http://fontforge.sourceforge.net" +COMMENT "public domain, created by Mikhail Aksenov" +STARTPROPERTIES 28 +FOUNDRY "FontForge" +FAMILY_NAME "sample" +WEIGHT_NAME "Regular" +SLANT "R" +SETWIDTH_NAME "Normal" +ADD_STYLE_NAME "" +PIXEL_SIZE 2 +POINT_SIZE 20 +RESOLUTION_X 75 +RESOLUTION_Y 75 +SPACING "C" +AVERAGE_WIDTH 20 +CHARSET_REGISTRY "FontSpecific" +CHARSET_ENCODING "0" +FONTNAME_REGISTRY "" +CHARSET_COLLECTIONS "FontSpecific" +FONT_NAME "sample" +FACE_NAME "sample" +COPYRIGHT "public domain" +FONT_VERSION "001.000" +FONT_ASCENT 2 +FONT_DESCENT 0 +UNDERLINE_POSITION 0 +UNDERLINE_THICKNESS 1 +RAW_ASCENT 800 +RAW_DESCENT 200 +FIGURE_WIDTH -1 +AVG_UPPERCASE_WIDTH 20 +ENDPROPERTIES +CHARS 1 +STARTCHAR A +ENCODING -1 +SWIDTH 1000 0 +DWIDTH 2 0 +BBX 1 1 0 1 +BITMAP +00 +ENDCHAR +ENDFONT + diff --git a/tests/spread/integration/xfonts-utils/task.yaml b/tests/spread/integration/xfonts-utils/task.yaml new file mode 100644 index 000000000..7e39dcb5b --- /dev/null +++ b/tests/spread/integration/xfonts-utils/task.yaml @@ -0,0 +1,21 @@ +summary: Integration tests for xfonts-utils + +execute: | + rootfs="$(install-slices xfonts-utils_bins bash_bins)" + + mkdir -p $rootfs/tmp/fonts + mkdir -p $rootfs/dev + cp sample.bdf $rootfs/tmp/fonts/sample.bdf + + chroot "$rootfs" bdftopcf /tmp/fonts/sample.bdf 1>/dev/null 2>/dev/null + chroot "$rootfs" /usr/bin/bash -c "bdftruncate 0x3200 /dev/null" + chroot "$rootfs" /usr/bin/bash -c "fonttosfnt -o /tmp/test.ttf /tmp/fonts/sample.bdf" + + # it is a script calling mkfontscale and it does require + # /bin/sh, so using bash instead + chroot "$rootfs" /usr/bin/bash -c "bash mkfontdir" + + chroot "$rootfs" mkfontscale + + cp 6x13.bdf $rootfs/tmp/fonts/6x13.bdf + chroot "$rootfs" ucs2any /tmp/fonts/6x13.bdf