From: Jörg Behrmann Date: Tue, 27 May 2025 09:41:50 +0000 (+0200) Subject: apt: support including additional configuration for reprepro X-Git-Tag: v26~212 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=39ed5ef6c2f3783c94fa83f06b58a145e6e865b5;p=thirdparty%2Fmkosi.git apt: support including additional configuration for reprepro --- diff --git a/mkosi/installer/apt.py b/mkosi/installer/apt.py index 1d78f22c5..cefa13cc0 100644 --- a/mkosi/installer/apt.py +++ b/mkosi/installer/apt.py @@ -282,18 +282,20 @@ class Apt(PackageManager): if not (conf := context.repository / "conf/distributions").exists(): conf.parent.mkdir(exist_ok=True) - conf.write_text( - textwrap.dedent( - f"""\ - Origin: mkosi - Label: mkosi - Architectures: {context.config.distribution.architecture(context.config.architecture)} - Codename: mkosi - Components: main - Description: mkosi local repository - """ - ) + distconfig = textwrap.dedent( + f"""\ + Origin: mkosi + Label: mkosi + Architectures: {context.config.distribution.architecture(context.config.architecture)} + Codename: mkosi + Components: main + Description: mkosi local repository + """ ) + for distconfinclude in ("usr/lib/reprepro/", "etc/reprepro/"): + if (context.sandbox_tree / distconfinclude).exists(): + distconfig += f"!include: /{distconfinclude}\n" + conf.write_text(distconfig) run( [ diff --git a/mkosi/resources/man/mkosi.1.md b/mkosi/resources/man/mkosi.1.md index 429c9c9e0..1b3810e3a 100644 --- a/mkosi/resources/man/mkosi.1.md +++ b/mkosi/resources/man/mkosi.1.md @@ -772,6 +772,10 @@ boolean argument: either `1`, `yes`, or `true` to enable, or `0`, `no`, running scripts. If the `mkosi.packages/` directory is found in the local directory it is also used for this purpose. + On deb-based distributions the local repository will be created with **reprepro** and additional + configuration for reprepro will be included from `/usr/lib/reprepro` and `/etc/reprepro` in the sandbox + trees, see **reprepro(1)** for details on reprepro configuration includes. + `VolatilePackageDirectories=`, `--volatile-package-directory=` : Like `PackageDirectories=`, but any changes to the packages in these directories will not invalidate the cached images if `Incremental=`