From 49e8c981ea3df771605c835e851a4b59beace085 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Tue, 13 Jun 2023 18:13:02 +0200 Subject: pkgctl repo clone --arch32 does a Arch32 specific clone now --- src/lib/repo/arch32.sh | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/lib/repo') diff --git a/src/lib/repo/arch32.sh b/src/lib/repo/arch32.sh index 996630d..d1039ed 100644 --- a/src/lib/repo/arch32.sh +++ b/src/lib/repo/arch32.sh @@ -1,10 +1,26 @@ +# does local adaptions needed to build for Archlinux32 pkgctl_repo_patch_arch32() { local pkgname="$1" - + # add the remote branch with our patches - git -C "${pkgname}" remote add -m master archlinux32 https://git.archlinux32.org/packages/ + git -C "${pkgname}" remote add -m master archlinux32 git://git.archlinux32.org/packages + git -C "${pkgname}" fetch --depth 1 archlinux32 # extend architecture with our architecture awk -i inplace '!/^arch=[^#]*any/ {gsub(/^arch=\(/,"arch=(i486 i686 pentium4 ")}; {print}' \ "${pkgname}/PKGBUILD" + + # iterate the arch32 diffs in the archlinux32/master branch (we don't know + # the destination repo, so we just scan both 'core' and 'extra') + listfile=$(mktemp --tmpdir="${WORKDIR}" pkgctl-arch32.XXXXXXXXXX) + git -C "${pkgname}" ls-tree -r --name-only archlinux32/master "core/${pkgname}" >"${listfile}" + git -C "${pkgname}" ls-tree -r --name-only archlinux32/master "extra/${pkgname}" >>"${listfile}" + for file in $(cat "${listfile}"); do + if [[ "${file##*/}" = "PKGBUILD" ]]; then + printf "\n\n# -- Arch32 specific --\n\n" >> "${pkgname}/PKGBUILD" + git -C "${pkgname}" show archlinux32/master:"${file}" >> "${pkgname}/PKGBUILD" + else + git -C "${pkgname}" show archlinux32/master:"${file}" > "${pkgname}/${file##*/}" + fi + done } -- cgit v1.2.3-54-g00ecf