aboutsummaryrefslogtreecommitdiffstats
path: root/main/abuild/abuild-git.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-04-23 08:05:20 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2013-04-23 08:06:21 +0000
commit099b8d356f2c9ab559f48d0dc43fbd4794d487b5 (patch)
tree8403af5c58b631cfbb9a49f5b50cacd49498f373 /main/abuild/abuild-git.patch
parent5600b7c4a8fb8534b90445fd8d6187f894ee0d0a (diff)
downloadaports-099b8d356f2c9ab559f48d0dc43fbd4794d487b5.tar.bz2
aports-099b8d356f2c9ab559f48d0dc43fbd4794d487b5.tar.xz
main/abuild: upgrade to 2.14.2
Diffstat (limited to 'main/abuild/abuild-git.patch')
-rw-r--r--main/abuild/abuild-git.patch259
1 files changed, 0 insertions, 259 deletions
diff --git a/main/abuild/abuild-git.patch b/main/abuild/abuild-git.patch
deleted file mode 100644
index ea158f4132..0000000000
--- 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() {