schedule:
interval: "monthly"
open-pull-requests-limit: 2
- - package-ecosystem: "gitsubmodule"
- directory: "/"
- schedule:
- interval: "daily"
- open-pull-requests-limit: 2
-[submodule "pkg/fedora"]
- path = pkg/fedora
- url = https://src.fedoraproject.org/rpms/systemd.git
- branch = rawhide
-[submodule "pkg/opensuse"]
- path = pkg/opensuse
- url = https://code.opensuse.org/package/systemd.git
- branch = master
-[submodule "pkg/debian"]
- path = pkg/debian
- url = https://salsa.debian.org/systemd-team/systemd.git
- branch = debian/master
-[submodule "pkg/centos"]
- path = pkg/centos
- url = https://git.centos.org/rpms/systemd.git
- branch = c9s-sig-hyperscale
-[submodule "pkg/arch"]
- path = pkg/arch
- url = https://gitlab.archlinux.org/archlinux/packaging/packages/systemd.git
- branch = main
For features at a higher level, tests in `src/test/` are very strongly recommended.
If that is not possible, integration tests in `test/` are encouraged.
-```shell
-$ git config submodule.recurse true
-$ git config fetch.recurseSubmodules on-demand
-$ git config push.recurseSubmodules no
-$ cp .git/hooks/pre-commit.sample .git/hooks/pre-commit
-$ cp tools/git-submodule-update-hook.sh .git/hooks/post-rewrite
-$ cp tools/git-submodule-update-hook.sh .git/hooks/post-checkout
-```
-
Please always test your work before submitting a PR.
For many of the components of systemd testing is straightforward as you can simply compile systemd and run the relevant tool from the build directory.
Distribution=arch
[Content]
+Environment=
+ GIT_URL=https://gitlab.archlinux.org/archlinux/packaging/packages/systemd.git
+ GIT_BRANCH=main
+ GIT_COMMIT=dc6c099e0785753c1c88b4adcbcbfc209a8d12e3
+
VolatilePackages=
systemd
systemd-libs
Distribution=centos
[Content]
+Environment=
+ GIT_URL=https://git.centos.org/rpms/systemd.git
+ GIT_BRANCH=c9s-sig-hyperscale
+ GIT_COMMIT=8cf2aed0181920611421384f7374720db269d6c7
+
Packages=
kernel-modules # For squashfs
rpmautospec-rpm-macros
Distribution=|ubuntu
[Content]
+Environment=
+ GIT_URL=https://salsa.debian.org/systemd-team/systemd.git
+ GIT_BRANCH=debian/master
+ GIT_COMMIT=18201fa98d74172fa1a17242326e3275995cde13
+
VolatilePackages=
libnss-myhostname
libnss-mymachines
Distribution=fedora
[Content]
+Environment=
+ GIT_URL=https://src.fedoraproject.org/rpms/systemd.git
+ GIT_BRANCH=rawhide
+ GIT_COMMIT=74810c5bc4fe7d872e54c253447ffd61bbc8839f
+
Packages=
btrfs-progs
compsize
InitrdInclude=initrd/
[Content]
+Environment=
+ GIT_URL=https://src.opensuse.org/rpm/systemd
+ GIT_BRANCH=factory
+ GIT_COMMIT=28c9bef337dd47c88adc1d948cedfdc79c788e2955f17a534bd76da6419722dd
+
VolatilePackages=
systemd
systemd-boot
# SPDX-License-Identifier: LGPL-2.1-or-later
set -e
-if [ -z "$(ls --almost-all "pkg/$DISTRIBUTION")" ] || [ -f "pkg/$DISTRIBUTION/.git" ]; then
- PKG_SUBDIR="$(realpath "pkg/$DISTRIBUTION" --relative-to "$PWD")"
- git submodule sync "$PKG_SUBDIR"
- git submodule update --init "$PKG_SUBDIR"
+if ((NO_SYNC)); then
+ exit 0
fi
+
+PKG_SUBDIR="$(realpath --canonicalize-missing "pkg/$DISTRIBUTION" --relative-to "$PWD")"
+
+if [[ -d "$PKG_SUBDIR/.git" ]] && [[ "$(git -C "$PKG_SUBDIR" rev-parse HEAD)" == "$GIT_COMMIT" ]]; then
+ exit 0
+fi
+
+if [[ ! -e "$PKG_SUBDIR" ]] || [[ -z "$(ls --almost-all "$PKG_SUBDIR")" ]]; then
+ git clone "$GIT_URL" --branch "$GIT_BRANCH" "$PKG_SUBDIR"
+else
+ git -C "$PKG_SUBDIR" remote set-url origin "$GIT_URL"
+ git -C "$PKG_SUBDIR" fetch origin "$GIT_BRANCH"
+fi
+
+git -C "$PKG_SUBDIR" -c advice.detachedHead=false checkout "$GIT_COMMIT"
+++ /dev/null
-Subproject commit b578e90bb68deaae28300300c57b6a99c916b201
+++ /dev/null
-Subproject commit 61bb5f47014707a927bc033a21e8dbf685c5d2c5
+++ /dev/null
-Subproject commit 824c52fafc3afda4c8ad3892596e8243c3b45c91
+++ /dev/null
-Subproject commit 8fe1f037d21c9d68d96728843f22e5036d769521
+++ /dev/null
-Subproject commit c3399411ac70a440ca9080d6df391eb897bba4e9
cd "${MESON_SOURCE_ROOT:?}"
-if [ -e .git ]; then
- git config submodule.recurse true
- git config fetch.recurseSubmodules on-demand
- git config push.recurseSubmodules no
-fi
-
ret=2
if [ -f .git/hooks/pre-commit.sample ] && [ ! -f .git/hooks/pre-commit ]; then
ret=0
fi
-if [ ! -f .git/hooks/post-rewrite ]; then
- cp -p tools/git-submodule-update-hook.sh .git/hooks/post-rewrite
- echo 'Activated post-rewrite hook'
- ret=0
-fi
-
-if [ ! -f .git/hooks/post-checkout ]; then
- cp -p tools/git-submodule-update-hook.sh .git/hooks/post-checkout
- echo 'Activated post-checkout hook'
- ret=0
-fi
-
exit $ret
+++ /dev/null
-#!/bin/sh
-# SPDX-License-Identifier: LGPL-2.1-or-later
-
-exec git submodule update