# 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 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' as well as # 'build-support') listfile=$(mktemp --tmpdir="${WORKDIR}" pkgctl-arch32.XXXXXXXXXX) >"${listfile}" for repo in core extra build-support; do git -C "${pkgname}" ls-tree -r --name-only archlinux32/master "${repo}/${pkgname}" >>"${listfile}" done for file in $(cat "${listfile}"); do if [[ "${file##*/}" = "PKGBUILD" ]]; then if [ -f "${pkgname}/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}/PKGBUILD" fi else git -C "${pkgname}" show archlinux32/master:"${file}" > "${pkgname}/${file##*/}" fi done }