]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Add a policy on adding new distributions
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 4 Oct 2023 19:22:03 +0000 (21:22 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 5 Oct 2023 10:18:57 +0000 (12:18 +0200)
Fixes #236

docs/distribution-policy.md [new file with mode: 0644]
mkosi/distributions/__init__.py

diff --git a/docs/distribution-policy.md b/docs/distribution-policy.md
new file mode 100644 (file)
index 0000000..458b5d5
--- /dev/null
@@ -0,0 +1,32 @@
+# Adding new distributions
+
+Merging support for a new distribution in mkosi depends on a few
+factors. Not all of these are required but depending on how many of
+these requirements are satisfied, the chances of us merging support for
+your distribution will improve:
+
+1. Is the distribution somewhat popular? mkosi's goal is not to support
+   every distribution under the sun, the distribution should have a
+   substantial amount of users.
+2. Does the distribution differentiate itself somehow from the
+   distributions that are already supported? We're generally not
+   interested in supporting distributions that only consist of minimal
+   configuration changes to another distribution.
+3. Is there a long-term maintainer for the distribution in mkosi? When
+   proposing support for a new distribution, we expect you to be the
+   maintainer for the distribution and to respond when pinged for
+   support on distribution specific issues.
+4. Does the distribution use a custom package manager or one of the
+   already supported ones (apt, dnf, pacman, zypper)? Supporting new
+   package managers in mkosi is generally a lot of work. We can support
+   new ones if needed for a new distribution, but we will insist on the
+   package manager having a somewhat sane design, with official support
+   for building in a chroot and running unprivileged in a user namespace
+   being the bare minimum features we expect from any new package
+   manager.
+
+We will only consider new distributions that satisfy all or most of
+these requirements. However, you can still use mkosi with the
+distribution by setting the `Distribution` setting to `custom` and
+implementing either providing the rootfs via a skeleton tree or base
+tree, or by providing the rootfs via a prepare script.
index 8169983ae165d3ca1c2593b9bff41f7067085f72..839d6ec136df2045ded1f803295095bf3d8ecfdd 100644 (file)
@@ -72,6 +72,8 @@ class DistributionInstaller:
 
 
 class Distribution(StrEnum):
+    # Please consult docs/distribution-policy.md and contact one
+    # of the mkosi maintainers before implementing a new distribution.
     fedora       = enum.auto()
     debian       = enum.auto()
     ubuntu       = enum.auto()