blob: 3ee248e52faf8031259ca8131c2d8f4a37e28a02 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# 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
}
|