From: Daan De Meyer Date: Fri, 8 Mar 2024 10:33:25 +0000 (+0100) Subject: mkosi: Introduce packaging sources as submodules X-Git-Tag: v256-rc1~545^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F31673%2Fhead;p=thirdparty%2Fsystemd.git mkosi: Introduce packaging sources as submodules By always cloning the latest branch commit, we can't bisect properly using mkosi as when bisecting wildly different packaging sources will be used compared to when the commit was merged. By using submodules, we track individual commits which means when bisecting the same packaging sources will be used. We use git submodules as dependabot has support for automatically making PRs to update git submodules. This commit also includes the necessary dependabot configuration to enable this. We make ubuntu/debian use the same submodule instead of adding the debian packaging sources twice by introducing a new $PKG_SUBDIR environment variable and using it instead of $DISTRIBUTION. --- diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3e067c176fd..54593c50f7b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -17,3 +17,8 @@ updates: schedule: interval: "monthly" open-pull-requests-limit: 2 + - package-ecosystem: "gitsubmodule" + directory: "/" + schedule: + interval: "daily" + open-pull-requests-limit: 2 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..c69576e9bb3 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,20 @@ +[submodule "pkg/fedora"] + path = pkg/fedora + url = https://src.fedoraproject.org/rpms/systemd + branch = rawhide +[submodule "pkg/opensuse"] + path = pkg/opensuse + url = https://code.opensuse.org/package/systemd + branch = master +[submodule "pkg/debian"] + path = pkg/debian + url = https://salsa.debian.org/systemd-team/systemd + branch = debian/master +[submodule "pkg/centos"] + path = pkg/centos + url = https://git.centos.org/rpms/systemd + branch = c9s-sig-hyperscale +[submodule "pkg/arch"] + path = pkg/arch + url = https://gitlab.archlinux.org/daandemeyer/systemd + branch = strip diff --git a/mkosi.images/base/mkosi.conf.d/10-arch/mkosi.conf b/mkosi.images/base/mkosi.conf.d/10-arch/mkosi.conf index 75dbbb2ddea..9cb45cc954d 100644 --- a/mkosi.images/base/mkosi.conf.d/10-arch/mkosi.conf +++ b/mkosi.images/base/mkosi.conf.d/10-arch/mkosi.conf @@ -10,8 +10,6 @@ InitrdInclude=initrd/ # https://gitlab.archlinux.org/archlinux/packaging/packages/systemd/-/merge_requests/8 is merged. [Content] Environment= - PKG_URL="https://gitlab.archlinux.org/daandemeyer/systemd" - PKG_BRANCH="strip" PKG_SUBDIR="arch" SYSTEMD_PACKAGES="systemd systemd-ukify systemd-sysvcompat systemd-resolvconf" diff --git a/mkosi.images/base/mkosi.conf.d/10-centos/mkosi.conf b/mkosi.images/base/mkosi.conf.d/10-centos/mkosi.conf index 607c2d2dafe..0f57319c2a2 100644 --- a/mkosi.images/base/mkosi.conf.d/10-centos/mkosi.conf +++ b/mkosi.images/base/mkosi.conf.d/10-centos/mkosi.conf @@ -5,8 +5,6 @@ Distribution=centos [Content] Environment= - PKG_URL="https://git.centos.org/rpms/systemd" - PKG_BRANCH="c9s-sig-hyperscale" PKG_SUBDIR="centos" Packages= diff --git a/mkosi.images/base/mkosi.conf.d/10-debian-ubuntu/mkosi.conf b/mkosi.images/base/mkosi.conf.d/10-debian-ubuntu/mkosi.conf index f6fc43a8480..47f3b7f488b 100644 --- a/mkosi.images/base/mkosi.conf.d/10-debian-ubuntu/mkosi.conf +++ b/mkosi.images/base/mkosi.conf.d/10-debian-ubuntu/mkosi.conf @@ -9,8 +9,6 @@ InitrdInclude=initrd/ [Content] Environment= - PKG_URL="https://salsa.debian.org/systemd-team/systemd" - PKG_BRANCH="debian/master" PKG_SUBDIR="debian" SYSTEMD_PACKAGES="systemd systemd-userdbd diff --git a/mkosi.images/base/mkosi.conf.d/10-fedora/mkosi.conf b/mkosi.images/base/mkosi.conf.d/10-fedora/mkosi.conf index 1424709cef0..a0b9f6f0fe4 100644 --- a/mkosi.images/base/mkosi.conf.d/10-fedora/mkosi.conf +++ b/mkosi.images/base/mkosi.conf.d/10-fedora/mkosi.conf @@ -5,8 +5,6 @@ Distribution=fedora [Content] Environment= - PKG_URL="https://src.fedoraproject.org/rpms/systemd" - PKG_BRANCH="rawhide" PKG_SUBDIR="fedora" Packages= diff --git a/mkosi.images/base/mkosi.conf.d/10-opensuse/mkosi.conf b/mkosi.images/base/mkosi.conf.d/10-opensuse/mkosi.conf index 1fca47b7cbb..63498c5098e 100644 --- a/mkosi.images/base/mkosi.conf.d/10-opensuse/mkosi.conf +++ b/mkosi.images/base/mkosi.conf.d/10-opensuse/mkosi.conf @@ -8,8 +8,6 @@ InitrdInclude=initrd/ [Content] Environment= - PKG_URL="https://code.opensuse.org/package/systemd" - PKG_BRANCH="master" PKG_SUBDIR="opensuse" SYSTEMD_PACKAGES="systemd udev diff --git a/mkosi.images/base/mkosi.sync b/mkosi.images/base/mkosi.sync index b95a73bc08b..72b5cf7c335 100755 --- a/mkosi.images/base/mkosi.sync +++ b/mkosi.images/base/mkosi.sync @@ -2,12 +2,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later set -e -if ((CACHED)); then - exit 0 -fi - -if [ -z "$(ls --almost-all "pkg/$PKG_SUBDIR")" ]; then - git clone "$PKG_URL" --branch "$PKG_BRANCH" "pkg/$PKG_SUBDIR" -elif [ -d "pkg/$PKG_SUBDIR/.git" ] && [ "$(git -C "pkg/$PKG_SUBDIR" rev-parse --abbrev-ref HEAD)" = "$PKG_BRANCH" ]; then - git -C "pkg/$PKG_SUBDIR" pull +if [ -z "$(ls --almost-all "pkg/$PKG_SUBDIR")" ] || [ -f "pkg/$PKG_SUBDIR/.git" ]; then + git submodule sync "pkg/$PKG_SUBDIR" + git submodule update --init "pkg/$PKG_SUBDIR" fi diff --git a/pkg/arch b/pkg/arch new file mode 160000 index 00000000000..733045c8f6b --- /dev/null +++ b/pkg/arch @@ -0,0 +1 @@ +Subproject commit 733045c8f6b0acf2f0cfaac207500483a678f4d2 diff --git a/pkg/centos b/pkg/centos new file mode 160000 index 00000000000..3cf45106c8b --- /dev/null +++ b/pkg/centos @@ -0,0 +1 @@ +Subproject commit 3cf45106c8bc5a050901851be6b2ac85b6f5c571 diff --git a/pkg/debian b/pkg/debian new file mode 160000 index 00000000000..49132a870df --- /dev/null +++ b/pkg/debian @@ -0,0 +1 @@ +Subproject commit 49132a870dfe281e1973a8c44acffb87a1db5336 diff --git a/pkg/fedora b/pkg/fedora new file mode 160000 index 00000000000..2822a03dded --- /dev/null +++ b/pkg/fedora @@ -0,0 +1 @@ +Subproject commit 2822a03dded26b9453bddbba7c6a152de8204aec diff --git a/pkg/opensuse b/pkg/opensuse new file mode 160000 index 00000000000..37aca188c2e --- /dev/null +++ b/pkg/opensuse @@ -0,0 +1 @@ +Subproject commit 37aca188c2ef606319217b30ff8b0c66df6c60f1