summaryrefslogtreecommitdiffstats
path: root/main/abuild
diff options
context:
space:
mode:
Diffstat (limited to 'main/abuild')
-rw-r--r--main/abuild/0001-abuild-add-support-for-optional-remote-logging.patch60
-rw-r--r--main/abuild/0001-buildrepo-parse-APKBUILDs-in-subshell.patch66
-rw-r--r--main/abuild/0001-buildrepo-set-REPODEST-when-running-abuild.patch25
-rw-r--r--main/abuild/APKBUILD22
-rw-r--r--main/abuild/abuild-git.patch259
5 files changed, 5 insertions, 427 deletions
diff --git a/main/abuild/0001-abuild-add-support-for-optional-remote-logging.patch b/main/abuild/0001-abuild-add-support-for-optional-remote-logging.patch
deleted file mode 100644
index 75c653bc7..000000000
--- a/main/abuild/0001-abuild-add-support-for-optional-remote-logging.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 8b3ecdf1f4f120878a43da89afeed62533acb6c4 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 19 Apr 2013 11:22:32 +0200
-Subject: [PATCH] abuild: add support for optional remote logging
-
-via ABUILD_LOG_CMD config option
-
-This is supposed to be used on the build servers
----
- abuild.in | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/abuild.in b/abuild.in
-index 284ee6f..76a0806 100755
---- a/abuild.in
-+++ b/abuild.in
-@@ -5,7 +5,7 @@
- #
- # Distributed under GPL-2
- #
--# Depends on: busybox utilities, fakeroot,
-+# Depends on: busybox utilities, fakeroot
- #
-
- abuild_ver=@VERSION@
-@@ -52,8 +52,13 @@ monochrome() {
- #colors
- if [ -n "$USE_COLORS" ]; then
- default_colors
--fi
--
-+fi
-+
-+# run optional log command for remote logging
-+logcmd() {
-+ ${ABUILD_LOG_CMD:-true} "$@"
-+ return 0
-+}
-
- # functions
- msg() {
-@@ -87,6 +92,7 @@ error() {
- local fake="${FAKEROOTKEY:+${BLUE}*${NORMAL}}"
- local name="${STRONG}${subpkgname:-$pkgname}${NORMAL}"
- printf "${prompt} ${name}${fake}: %s\n" "$1" >&2
-+ logcmd "ERROR: $pkgname: $1"
- }
-
- error2() {
-@@ -1161,6 +1167,7 @@ mklinks_abuildrepo() {
- build_abuildrepo() {
- local d apk
- if ! apk_up2date || [ -n "$force" ]; then
-+ logcmd "building $pkgname"
- sanitycheck && builddeps && clean && fetch && unpack \
- && prepare && mkusers && rootpkg || return 1
- fi
---
-1.8.2.1
-
diff --git a/main/abuild/0001-buildrepo-parse-APKBUILDs-in-subshell.patch b/main/abuild/0001-buildrepo-parse-APKBUILDs-in-subshell.patch
deleted file mode 100644
index 67c79ddf5..000000000
--- a/main/abuild/0001-buildrepo-parse-APKBUILDs-in-subshell.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From d0e15dd5b60e76e30f42f0f9061fcce9f5a6d5a3 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 22 Feb 2013 09:03:13 +0000
-Subject: [PATCH] buildrepo: parse APKBUILDs in subshell
-
-so we dont leak functions like 'build' and other variables.
----
- buildrepo.in | 22 ++++++++++++++--------
- 1 file changed, 14 insertions(+), 8 deletions(-)
-
-diff --git a/buildrepo.in b/buildrepo.in
-index f1a5749..23cc61e 100755
---- a/buildrepo.in
-+++ b/buildrepo.in
-@@ -46,9 +46,9 @@ all_exist() {
- done
- return 0
- }
--
--build() {
-- local repo="$1" i needbuild
-+
-+list_needbuild() {
-+ local repo="$1" i=
-
- cd "$aportsdir/$repo" || return 0
-
-@@ -78,14 +78,20 @@ build() {
-
- # try link or copy the files if they are in the ports dir
- if all_exist $pkgs; then
-- echo ">>> Copying " $pkgs
-+ echo ">>> Copying " $pkgs >&2
- cp -p -l $pkgs "$repodir/$repo/$CARCH"/ 2>/dev/null \
- || cp -p $pkgs "$repodir/$repo/$CARCH"/ \
-- || needbuild="$needbuild $i"
-+ || echo "$i"
- else
-- needbuild="$needbuild $i"
-+ echo "$i"
- fi
- done
-+}
-+
-+do_build() {
-+ local repo="$1" i=
-+ cd "$aportsdir/$repo" || return 0
-+ local needbuild="$(list_needbuild $repo)"
-
- # build the postponed packages if any
- if [ -n "$needbuild" ]; then
-@@ -146,9 +152,9 @@ shift $(($OPTIND - 1))
-
- while [ $# -gt 0 ]; do
- if [ -n "$logprefix" ]; then
-- build $1 >$logprefix.$1.log 2>&1 || exit 1
-+ do_build $1 >$logprefix.$1.log 2>&1 || exit 1
- else
-- build $1 || exit 1
-+ do_build $1 || exit 1
- fi
- deprepo="$deprepo $1"
- shift
---
-1.8.1.3
-
diff --git a/main/abuild/0001-buildrepo-set-REPODEST-when-running-abuild.patch b/main/abuild/0001-buildrepo-set-REPODEST-when-running-abuild.patch
deleted file mode 100644
index 0dbc4a2b7..000000000
--- a/main/abuild/0001-buildrepo-set-REPODEST-when-running-abuild.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From b1b093180f2795c5802f12ee36b6f619e725b0cd Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 22 Feb 2013 09:35:19 +0000
-Subject: [PATCH] buildrepo: set REPODEST when running abuild
-
-fixes regression
----
- buildrepo.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/buildrepo.in b/buildrepo.in
-index 23cc61e..1f218cc 100755
---- a/buildrepo.in
-+++ b/buildrepo.in
-@@ -93,6 +93,7 @@ do_build() {
- cd "$aportsdir/$repo" || return 0
- local needbuild="$(list_needbuild $repo)"
-
-+ export REPODEST="$repodir"
- # build the postponed packages if any
- if [ -n "$needbuild" ]; then
- for i in $needbuild; do
---
-1.8.1.3
-
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 5e93df766..cb4809150 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgdesc="Script to build Alpine Packages"
pkgname=abuild
-pkgver=2.14.1
+pkgver=2.14.2
_ver=${pkgver%_git*}
-pkgrel=3
+pkgrel=0
url=http://git.alpinelinux.org/cgit/abuild/
depends="fakeroot file sudo pax-utils openssl apk-tools>=2.0.7-r1
abuildhelper curl libc-utils"
@@ -14,9 +14,6 @@ pkggroups="abuild"
arch="all"
license=GPL-2
source="http://git.alpinelinux.org/cgit/abuild/snapshot/abuild-$_ver.tar.bz2
- 0001-buildrepo-parse-APKBUILDs-in-subshell.patch
- 0001-buildrepo-set-REPODEST-when-running-abuild.patch
- 0001-abuild-add-support-for-optional-remote-logging.patch
"
_builddir="$srcdir/$pkgname-$_ver"
@@ -54,15 +51,6 @@ cpan() {
mv "$pkgdir"/usr/bin/apkbuild-cpan "$subpkgdir"/usr/bin/
}
-md5sums="ec7c8e453d4331ac20c164c263234f02 abuild-2.14.1.tar.bz2
-d44821805530e9e57a4e27f8fe7f2970 0001-buildrepo-parse-APKBUILDs-in-subshell.patch
-1b0e56775cace496612afc9e2e233ff9 0001-buildrepo-set-REPODEST-when-running-abuild.patch
-63379b334ed76c562ee07fb3a0ba506a 0001-abuild-add-support-for-optional-remote-logging.patch"
-sha256sums="e9ee3df70118f4f5eb6aca00570c8fb8fb5cf79ed08eb653929116384af77c35 abuild-2.14.1.tar.bz2
-d30ff115fe3595c1dbc8efaeb13233527148ac72c966521f04b9c166a5cceee3 0001-buildrepo-parse-APKBUILDs-in-subshell.patch
-e33d919078c122b426d09bab7a761bb880fee0d36cc23a4de5114e6f3829f235 0001-buildrepo-set-REPODEST-when-running-abuild.patch
-5a191d2f984c65cdc3d1cb496d04711c0f6b33906974e4864536a7ef373b5081 0001-abuild-add-support-for-optional-remote-logging.patch"
-sha512sums="3eb14b4d4a104c459a7689d862e9efc29b0a5585101af25604248ad6453c7538c56bfe59f4250e3c56357db37dbf7c04115338c55a4ac0231bb3a61545a83cdf abuild-2.14.1.tar.bz2
-775f1ae3128b4083b33c162e572ce2ef438385f5a40145e719331feb60e10e6ad4d0d2c9a9c7f639a7bd53bb01d93b6e23de030b2a22916f275fcaa1fd34e043 0001-buildrepo-parse-APKBUILDs-in-subshell.patch
-caea0aad0efbc67b4fe8989d5cc9a07c4d99b4882ec7215fb3c769f2f3f7e0a9ab4ac7f0ebbaced05435a797af03328a146c963b5ade6139a7c8fffad167e1c1 0001-buildrepo-set-REPODEST-when-running-abuild.patch
-0d7625621f85fa4798463c83170a6bad4e26521baa99338009e699939fd09897b68334f950ded22e379acb3542a5002af0d47d8beea27d939a4b3a2b8970cfd2 0001-abuild-add-support-for-optional-remote-logging.patch"
+md5sums="28b88233f7cece810ed9008647f1b0a2 abuild-2.14.2.tar.bz2"
+sha256sums="37192e3dbe148620341925059f57188b0f3635a60c74e5614fb7914741cb7d89 abuild-2.14.2.tar.bz2"
+sha512sums="8f9cea29f8d1c8472ef7c4771789b995ce5422ee87f8262aa60c118b7a198b7c7b17c9120e3de98e410f14427fbac020920076a9b387943e638af10859db1648 abuild-2.14.2.tar.bz2"
diff --git a/main/abuild/abuild-git.patch b/main/abuild/abuild-git.patch
deleted file mode 100644
index ea158f413..000000000
--- a/main/abuild/abuild-git.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-diff --git a/abuild.in b/abuild.in
-index 2780d2e..0bf9d47 100755
---- a/abuild.in
-+++ b/abuild.in
-@@ -404,6 +404,9 @@ default_unpack() {
- for u in $source; do
- local s="$SRCDEST/${u##*/}" # $(basename $s)
- case "$s" in
-+ *.tar)
-+ msg "Unpacking $s..."
-+ tar -C "$srcdir" -xf "$s" || return 1;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- tar -C "$srcdir" -zxf "$s" || return 1;;
-@@ -772,23 +775,20 @@ EOF
-
- prepare_tracedeps() {
- local dir=${subpkgdir:-$pkgdir}
-+ local etype= soname= file= sover=
- [ "$arch" = "noarch" ] && return 0
- options_has "!tracedeps" && return 0
-- # lets tell all the .so files this package provides in .provides-so
-- find -name '*.so' -o -name '*.so.[0-9]*' | sed 's:.*/::' \
-- >"$controldir"/.provides-so
- # lets tell all the places we should look for .so files - all rpaths
-- scanelf -q -Rr "$dir" | sed -e 's/[[:space:]].*//' -e 's/:/\n/' \
-- | sort | uniq \
-+ scanelf --quiet --recursive --rpath "$dir" \
-+ | sed -e 's/[[:space:]].*//' -e 's/:/\n/' | sort -u \
- >"$controldir"/.rpaths
-- # now find the so dependencies
-- scanelf -Rn "$dir" | tr ' ' ':' | awk -F ":" '$1 == "ET_DYN" || $1 == "ET_EXEC" {print $2}' \
-- | sed 's:,:\n:g' | sort | uniq \
-- | while read i; do
-- # only add files that are not self provided
-- grep "^$i$" "$controldir"/.provides-so >/dev/null \
-- || echo $i >> "$controldir"/.needs-so
-- done
-+ if grep -q -x '/usr/lib' "$controldir"/.rpaths; then
-+ warning "Redundat /usr/lib in rpath found"
-+ fi
-+ if grep '^/home/' "$controldir"/.rpaths; then
-+ error "Has /home/... in rpath"
-+ return 1
-+ fi
- }
-
- # check if dir has arch specific binaries
-@@ -858,11 +858,15 @@ find_so_files() {
- return 0
- }
-
-+subpkg_provides() {
-+ grep -q -w "^$1" "$pkgbasedir"/.control.*/.provides-so 2>/dev/null
-+}
-+
- trace_apk_deps() {
- local name="$1"
- local dir="$2"
-- local i= j= found= autodeps= deppkgs= missing= so_paths= self_provided=
-- msg "Tracing dependencies for $name..."
-+ local i= found= autodeps= deppkgs= missing=
-+ msg "Tracing dependencies..."
- # add pkgconfig if usr/lib/pkgconfig is found
- if [ -d "$pkgbasedir"/$name/usr/lib/pkgconfig ] \
- && ! grep -q '^depend = pkgconfig' "$dir"/.PKGINFO; then
-@@ -877,18 +881,11 @@ trace_apk_deps() {
- msg " added libgcc (due to libpthread)"
- fi
- [ -f "$dir"/.needs-so ] && for i in $(cat "$dir"/.needs-so); do
-- found=
-- # first check if its provide by same apkbuild
-- for j in "$dir"/../.control.*/.provides-so; do
-- grep -w "$i" "$j" >/dev/null || continue
-- found=${j%/.provides-so}
-- found=${found##*/.control.}
-- break
-- done
-- if [ -n "$found" ]; then
-- if ! list_has "$found" $self_provided; then
-- self_provided="$self_provided $found"
-- fi
-+ # first check if its provided by same apkbuild
-+ grep -q -w "^$i" "$dir"/.provides-so 2>/dev/null && continue
-+
-+ if subpkg_provides "$i" || $APK info -q -e "so:$i"; then
-+ autodeps="$autodeps so:$i"
- else
- missing="$missing $i"
- fi
-@@ -896,41 +893,131 @@ trace_apk_deps() {
-
- # find all packages that holds the so files
- if [ -f "$dir"/.rpaths ]; then
-- so_files=$(find_so_files "$dir"/.rpaths $missing) || return 1
-+ local so_files=$(find_so_files "$dir"/.rpaths $missing) \
-+ || return 1
- deppkgs=$($APK info -q -W $so_files) || return 1
- fi
-
-- for found in $self_provided $deppkgs; do
-+ for found in $deppkgs; do
- if grep -w "^depend = ${found}$" "$dir"/.PKGINFO >/dev/null ; then
- warning "You can remove '$found' from depends"
- continue
- fi
-- if [ "$found" != "$name" ] && ! list_has "$found" $autodeps; then
-- autodeps="$autodeps $found"
-- msg " added $found"
-- fi
-+ autodeps="$autodeps $found"
- done
-
-- [ -z "$autodeps" ] && return 0
- echo "# automatically detected:" >> "$dir"/.PKGINFO
-+ if [ -f "$dir"/.provides-so ]; then
-+ sed 's/^\(.*\) \([0-9].*\)/provides = so:\1=\2/' "$dir"/.provides-so \
-+ >> "$dir"/.PKGINFO
-+ fi
-+ [ -z "$autodeps" ] && return 0
- for i in $autodeps; do
-- echo "depend = $i" >> "$dir"/.PKGINFO
-+ echo "depend = $i"
-+ done | sort -u >> "$dir"/.PKGINFO
-+ # display all depends
-+ sed -n '/^depend =/s/depend = /\t/p' "$dir"/.PKGINFO >&2
-+}
-+
-+find_scanelf_paths() {
-+ local datadir="$1"
-+ local paths="$datadir/lib:$datadir/usr/lib" i= rpaths=
-+ if [ -n "$ldpath" ]; then
-+ paths="$paths:$(echo "$ldpath" | sed "s|\(^\|:\)|\1$datadir|g")"
-+ fi
-+ # search in all rpaths
-+ for rpaths in "$pkgbasedir"/.control.*/.rpaths; do
-+ [ -f "$rpaths" ] || continue
-+ while read i; do
-+ local dir="${datadir}${i}"
-+ IFS=:
-+ if [ -d "$dir" ] && ! list_has "$dir" $paths; then
-+ paths="$paths:${dir}"
-+ fi
-+ unset IFS
-+ done < "$rpaths"
- done
-+ echo "$paths"
-+}
-+
-+scan_shared_objects() {
-+ local name="$1" controldir="$2" datadir="$3"
-+ local opt=
-+
-+ # allow spaces in paths
-+ IFS=:
-+ set -- $(find_scanelf_paths "$datadir")
-+ unset IFS
-+
-+ if options_has "ldpath-recursive"; then
-+ opt="--recursive"
-+ fi
-+ msg "Scanning shared objects"
-+ # lets tell all the .so files this package provides in .provides-so
-+ scanelf --nobanner --soname $opt "$@" | while read etype soname file; do
-+ # if soname field is missing, soname will be the filepath
-+ sover=0
-+ if [ -z "$file" ]; then
-+ file="$soname"
-+ soname=${soname##*/}
-+ fi
-+
-+ # we only want shared libs
-+ case $soname in
-+ *.so|*.so.[0-9]*);;
-+ *) continue;;
-+ esac
-+
-+ case "$file" in
-+ *.so.[0-9]*) sover=${file##*.so.};;
-+ *.so)
-+ # filter out sonames with version when file does not
-+ # have version
-+ case "$soname" in
-+ *.so.[0-9]*)
-+ if options_has "sover-namecheck"; then
-+ continue
-+ fi
-+ esac
-+ ;;
-+ esac
-+ echo "$soname $sover"
-+ done | sort -u > "$controldir"/.provides-so
-+
-+ # now find the so dependencies
-+ scanelf --nobanner --recursive --needed "$datadir" | tr ' ' ':' \
-+ | awk -F ":" '$1 == "ET_DYN" || $1 == "ET_EXEC" {print $2}' \
-+ | sed 's:,:\n:g' | sort -u \
-+ | while read i; do
-+ # only add files that are not self provided
-+ grep -q -w "^$i" "$controldir"/.provides-so \
-+ || echo $i
-+ done > "$controldir"/.needs-so
- }
-
- create_apks() {
-- local file
-+ local file= dir= name= ver= apk= datadir=
- getpkgver || return 1
- mkdir -p "$PKGDEST"
-+ if [ "$arch" != "noarch" ] && ! options_has "!tracedeps"; then
-+ for file in "$pkgbasedir"/.control.*/.PKGINFO; do
-+ dir="${file%/.PKGINFO}"
-+ name="$(pkginfo_val pkgname $file)"
-+ datadir="$pkgbasedir"/$name
-+ subpkgname=$name
-+ scan_shared_objects "$name" "$dir" "$datadir"
-+ done
-+ fi
- for file in "$pkgbasedir"/.control.*/.PKGINFO; do
-- local dir="${file%/.PKGINFO}"
-- local name=$(pkginfo_val pkgname $file)
-- local ver=$(pkginfo_val pkgver $file)
-- local apk=$name-$ver.apk
-- local datadir="$pkgbasedir"/$name
-+ dir="${file%/.PKGINFO}"
-+ name=$(pkginfo_val pkgname $file)
-+ ver=$(pkginfo_val pkgver $file)
-+ apk=$name-$ver.apk
-+ datadir="$pkgbasedir"/$name
-+ subpkgname=$name
-
- trace_apk_deps "$name" "$dir" || return 1
-- msg "Creating $apk..."
-+ msg "Compressing data..."
- (
- cd "$datadir"
- # data.tar.gz
-@@ -941,6 +1028,7 @@ create_apks() {
- fi
- tar -c "$@" | abuild-tar --hash | gzip -9 >"$dir"/data.tar.gz
-
-+ msg "Create checksum..."
- # append the hash for data.tar.gz
- local sha256=$(sha256sum "$dir"/data.tar.gz | cut -f1 -d' ')
- echo "datahash = $sha256" >> "$dir"/.PKGINFO
-@@ -951,10 +1039,12 @@ create_apks() {
- | gzip -9 > control.tar.gz
- abuild-sign -q control.tar.gz || exit 1
-
-+ msg "Create $apk"
- # create the final apk
- cat control.tar.gz data.tar.gz > "$PKGDEST"/$apk
-- )
-+ )
- done
-+ subpkgname=
- }
-
- clean_abuildrepo() {