diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/repo/arch32.sh | 20 |
1 files changed, 18 insertions, 2 deletions
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 } |