1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

mkosi: do a sparse checkout of debian/ubuntu packaging repo

The repository on Salsa includes the full upstream sources, which means
they are duplicated, taking extra space and showing duplicated grep results.
But we only need the debian/ subfolder, so do a sparse clone and checkout.
This commit is contained in:
Luca Boccassi 2024-06-06 00:14:37 +01:00 committed by Luca Boccassi
parent 01420b2db5
commit b99dc98780
2 changed files with 15 additions and 1 deletions

View File

@ -7,6 +7,7 @@ Distribution=|ubuntu
[Content]
Environment=
GIT_URL=https://salsa.debian.org/systemd-team/systemd.git
GIT_SUBDIR=debian
GIT_BRANCH=debian/master
GIT_COMMIT=5b9607385d49c09440e6e3b35c03ceec73162aec

View File

@ -13,8 +13,21 @@ if [[ -d "$PKG_SUBDIR/.git" ]] && [[ "$(git -C "$PKG_SUBDIR" rev-parse HEAD)" ==
exit 0
fi
# The repository on Salsa has the full upstream sources, so it's a waste of space to
# redownload and duplicate everything, so do a sparse checkout as we only need the
# packaging directory anyway
if [[ -n "${GIT_SUBDIR:-}" ]]; then
sparse=(--no-checkout --filter=tree:0)
else
sparse=()
fi
if [[ ! -e "$PKG_SUBDIR" ]] || [[ -z "$(ls --almost-all "$PKG_SUBDIR")" ]]; then
git clone "$GIT_URL" --branch "$GIT_BRANCH" "$PKG_SUBDIR"
git clone "$GIT_URL" --branch "$GIT_BRANCH" "${sparse[@]}" "$PKG_SUBDIR"
if [[ -n "${GIT_SUBDIR:-}" ]]; then
# --no-cone is needed to check out only one top-level directory
git -C "$PKG_SUBDIR" sparse-checkout set --no-cone "${GIT_SUBDIR:-}"
fi
else
git -C "$PKG_SUBDIR" remote set-url origin "$GIT_URL"
git -C "$PKG_SUBDIR" fetch origin "$GIT_BRANCH"