diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-09-05 12:26:45 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-09-05 12:28:05 +0000 |
commit | 14af6a80cfbf657423334614b37a8f6f688dfe1a (patch) | |
tree | 1281481e432fa103dc33c40fd81358e0da412679 /abuild.in | |
parent | a5cc84e229a40d725c1d53d1b0924a9ef9a615e0 (diff) | |
download | abuild-14af6a80cfbf657423334614b37a8f6f688dfe1a.tar.gz abuild-14af6a80cfbf657423334614b37a8f6f688dfe1a.tar.bz2 abuild-14af6a80cfbf657423334614b37a8f6f688dfe1a.tar.xz abuild-14af6a80cfbf657423334614b37a8f6f688dfe1a.zip |
abuild: include correct version number for provides
This changes the format of .provides-so file. We now add a column with
the version number
Diffstat (limited to 'abuild.in')
-rwxr-xr-x | abuild.in | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -775,14 +775,22 @@ 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 scanelf --recursive --nobanner --soname "$dir" | while read etype soname file; do # if soname field is missing, soname will be the filepath # we only want shared libs + sover=0 case $soname in - *.so|*.so.[0-9]*) echo ${soname##*/};; + *.so|*.so.[0-9]*) + soname=${soname##*/} + case "$file" in + *.so.[0-9]*) sover=${file##*.so.};; + esac + echo "$soname $sover" + ;; esac done >"$controldir"/.provides-so # lets tell all the places we should look for .so files - all rpaths @@ -794,7 +802,7 @@ prepare_tracedeps() { | 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 \ + grep -q -w "^$i" "$controldir"/.provides-so \ || echo $i >> "$controldir"/.needs-so done } @@ -888,7 +896,7 @@ trace_apk_deps() { found= # first check if its provide by same apkbuild for j in "$dir"/../.control.*/.provides-so; do - grep -w "$i" "$j" >/dev/null || continue + grep -q -w "^$i" "$j" || continue found=${j%/.provides-so} found=${found##*/.control.} break @@ -921,7 +929,7 @@ trace_apk_deps() { echo "# automatically detected:" >> "$dir"/.PKGINFO if [ -f "$dir"/.provides-so ]; then - sed 's/^\(.*\)/provides = so:\1=0/' "$dir"/.provides-so \ + sed 's/^\(.*\) \([0-9].*\)/provides = so:\1=\2/' "$dir"/.provides-so \ >> "$dir"/.PKGINFO fi [ -z "$autodeps" ] && return 0 |