mkosi: Replace submodules with our own thing
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 30 May 2024 14:24:42 +0000 (16:24 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 30 May 2024 17:31:32 +0000 (19:31 +0200)
commitba592dc715eed67b0c939ded94b4c31bc5ba1070
tree7fa9be09baec776b3e3c0be6d75fab4c4b1311f4
parent6ecdd5ebd1d7d72179189e707136ad095e08ec6f
mkosi: Replace submodules with our own thing

Unfortunately, git submodules break in all sorts of ways:

- Various github workflows (dependabot, github pages) try to do a shallow
clone of git submodules which does not work at all when the git repository
is hosted on pagure (https://pagure.io/pagure/issue/5453,
https://github.com/dependabot/dependabot-core/issues/9391).
- If the git forge hosting the git repository uses SHA256, then it breaks our
usage of it as a submodule as SHA256 repositories cannot be used as submodules
in SHA1 repositories (src.opensuse.org moved to SHA256 which broke our usage of
opensuse's systemd spec as a submodule).
- git submodules completely break usage of git worktrees.
- ...

Let's avoid all these issues by just doing our own home grown implementation of
git submodules. We lose the automatic dependabot updates this way but since dependabot
fails to run more often that not with submodules we don't really lose anything.
16 files changed:
.github/dependabot.yml
.gitmodules
docs/HACKING.md
mkosi.images/system/mkosi.conf.d/10-arch/mkosi.conf
mkosi.images/system/mkosi.conf.d/10-centos/mkosi.conf
mkosi.images/system/mkosi.conf.d/10-debian-ubuntu/mkosi.conf
mkosi.images/system/mkosi.conf.d/10-fedora/mkosi.conf
mkosi.images/system/mkosi.conf.d/10-opensuse/mkosi.conf
mkosi.images/system/mkosi.sync
pkg/arch [deleted submodule]
pkg/centos [deleted submodule]
pkg/debian [deleted submodule]
pkg/fedora [deleted submodule]
pkg/opensuse [deleted submodule]
tools/git-setup.sh
tools/git-submodule-update-hook.sh [deleted file]