diff options
author | jbj <devnull@localhost> | 2001-06-15 16:01:10 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 2001-06-15 16:01:10 +0000 |
commit | 58b120d8785b7622a3c5c603f109a1fc2f085f68 (patch) | |
tree | 1b1ed7c0b7b729b266fefad29592df97c531e32d | |
parent | f0d2abd2bcb74ab18645355ba45189abe77f38bf (diff) | |
download | librpm-tizen-58b120d8785b7622a3c5c603f109a1fc2f085f68.tar.gz librpm-tizen-58b120d8785b7622a3c5c603f109a1fc2f085f68.tar.bz2 librpm-tizen-58b120d8785b7622a3c5c603f109a1fc2f085f68.zip |
- alpha: don't add "()(64bit)" dependency markers.
CVS patchset: 4863
CVS date: 2001/06/15 16:01:10
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | autodeps/linux.prov | 11 | ||||
-rw-r--r-- | autodeps/linux.req | 15 | ||||
-rw-r--r-- | rpm.spec.in | 2 | ||||
-rw-r--r-- | rpmdb/rpmdb.c | 31 |
6 files changed, 40 insertions, 22 deletions
@@ -108,6 +108,7 @@ scripts to /usr/lib/rpm <arjanv@redhat.com> (#44581). - rpmdb iterator selectors permit default/strcmp/regex/glob matching. - rpmdb iterator selectors permit negative matches. + - alpha: don't add "()(64bit)" dependency markers. 4.0 -> 4.0.[12] - add doxygen and lclint annotations most everywhere. diff --git a/Makefile.am b/Makefile.am index 8533bfb89..b48385565 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,7 +5,7 @@ AUTOMAKE_OPTIONS = 1.4 foreign EXTRA_DIST = CHANGES CREDITS Doxyheader GROUPS README.amiga INSTALL \ RPM-GPG-KEY RPM-PGP-KEY \ autodeps/none autodeps/*.prov autodeps/*.req autogen.sh \ - db db3/configure gendiff installplatform platform* \ + config.site db db3/configure gendiff installplatform platform* \ po/*.in po/*.po po/rpm.pot \ rpm.magic rpmpopt-$(VERSION) rpmqv.c diff --git a/autodeps/linux.prov b/autodeps/linux.prov index 110158f7d..d292a83fd 100644 --- a/autodeps/linux.prov +++ b/autodeps/linux.prov @@ -7,17 +7,24 @@ filelist=`sed "s/['\"]/\\\&/g"` solist=$(echo $filelist | grep "\\.so" | grep -v "^/lib/ld.so" | \ xargs file -L 2>/dev/null | grep "ELF.*shared object" | cut -d: -f1) -perllist=$(echo $filelist | grep "\\.pm") +perllist=$(echo $filelist | grep '\.pm$') pythonlist= tcllist= # +# --- Alpha does not mark 64bit dependencies +case `uname -m` in + alpha*) mark64="" ;; + *) mark64="()(64bit)" ;; +esac + +# # --- Library sonames and weak symbol versions (from glibc). for f in $solist; do soname=$(objdump -p $f | awk '/SONAME/ {print $2}') lib64=`if file -L $f 2>/dev/null | \ - grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi` + grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi` if [ "$soname" != "" ]; then if [ ! -L $f ]; then echo $soname$lib64 diff --git a/autodeps/linux.req b/autodeps/linux.req index 03a9f64a3..cae9c9d01 100644 --- a/autodeps/linux.req +++ b/autodeps/linux.req @@ -21,11 +21,18 @@ pythonlist= tcllist= # +# --- Alpha does not mark 64bit dependencies +case `uname -m` in + alpha*) mark64="" ;; + *) mark64="()(64bit)" ;; +esac + +# # --- Executable sonames. for f in $exelist; do [ -r $f -a -x $f ] || continue lib64=`if file -L $f 2>/dev/null | \ - grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi` + grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi` ldd $f | awk '/=>/ { if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/) { gsub(/'\''"/,"\\&",$1); @@ -39,7 +46,7 @@ done | xargs -r -n 1 basename | sort -u for f in $liblist; do [ -r $f ] || continue lib64=`if file -L $f 2>/dev/null | \ - grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi` + grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi` ldd $f | awk '/=>/ { if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/) { gsub(/'\''"/,"\\&",$1); @@ -59,14 +66,14 @@ for f in $scriptlist; do *) [ "${f%.pm}" != "${f}" ] && perllist="$perllist $f" ;; esac done -[ -n "$interplist" ] && { echo "$interplist" | sort -u ; } +[ -n "$interplist" ] && { echo "$interplist" | tr [:blank:] \\n | sort -u ; } # # --- Weak symbol versions (from glibc). for f in $liblist $exelist ; do [ -r $f ] || continue lib64=`if file -L $f 2>/dev/null | \ - grep "ELF 64-bit" >/dev/null; then echo "()(64bit)"; fi` + grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi` objdump -p $f | awk ' BEGIN { START=0; LIBNAME=""; } /Version References:/ { START=1; } diff --git a/rpm.spec.in b/rpm.spec.in index 5d1b2f849..e1e283f73 100644 --- a/rpm.spec.in +++ b/rpm.spec.in @@ -334,7 +334,9 @@ fi %rpmattr %{__prefix}/bin/rpmbuild %rpmattr %{__prefix}/lib/rpm/brp-* %rpmattr %{__prefix}/lib/rpm/check-prereqs +%rpmattr %{__prefix}/lib/rpm/config.site %rpmattr %{__prefix}/lib/rpm/cpanflute +%rpmattr %{__prefix}/lib/rpm/cross-build %rpmattr %{__prefix}/lib/rpm/find-lang.sh %rpmattr %{__prefix}/lib/rpm/find-prov.pl %rpmattr %{__prefix}/lib/rpm/find-provides diff --git a/rpmdb/rpmdb.c b/rpmdb/rpmdb.c index a825954ff..0d9f9a106 100644 --- a/rpmdb/rpmdb.c +++ b/rpmdb/rpmdb.c @@ -1563,9 +1563,9 @@ static int mireCmp(const void * a, const void * b) * @param pattern pattern to duplicate * @return duplicated pattern */ -static /*@only*/ char * mireDup(rpmTag tag, rpmMireMode *modep, +static /*@only@*/ char * mireDup(rpmTag tag, rpmMireMode *modep, const char * pattern) - /*@*/ + /*@modifies *modep @*/ { const char * s; char * pat; @@ -1668,7 +1668,9 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag, pattern++; } + /*@-mods@*/ /* FIX: WTFO? */ allpat = mireDup(tag, &mode, pattern); + /*@=mods@*/ if (mode == RPMMIRE_DEFAULT) mode = defmode; @@ -1686,7 +1688,6 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag, (void) regerror(rc, preg, msg, sizeof(msg)-1); msg[sizeof(msg)-1] = '\0'; rpmError(RPMERR_REGCOMP, "%s: regcomp failed: %s\n", allpat, msg); - goto exit; } break; case RPMMIRE_GLOB: @@ -1694,7 +1695,18 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag, break; default: rc = -1; - goto exit; + break; + } + + if (rc) { + /*@=kepttrans@*/ /* FIX: mire has kept values */ + allpat = _free(allpat); + if (preg) { + regfree(preg); + preg = _free(preg); + } + /*@=kepttrans@*/ + return rc; } mi->mi_re = xrealloc(mi->mi_re, (mi->mi_nre + 1) * sizeof(*mi->mi_re)); @@ -1712,17 +1724,6 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTag tag, (void) qsort(mi->mi_re, mi->mi_nre, sizeof(*mi->mi_re), mireCmp); -exit: - if (rc) { - /*@=kepttrans@*/ /* FIX: mire has kept values */ - allpat = _free(allpat); - if (preg) { - regfree(preg); - preg = _free(preg); - } - /*@=kepttrans@*/ - mire = _free(mire); - } return rc; } |