summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjbj <devnull@localhost>2001-06-15 16:01:10 +0000
committerjbj <devnull@localhost>2001-06-15 16:01:10 +0000
commit58b120d8785b7622a3c5c603f109a1fc2f085f68 (patch)
tree1b1ed7c0b7b729b266fefad29592df97c531e32d
parentf0d2abd2bcb74ab18645355ba45189abe77f38bf (diff)
downloadlibrpm-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--CHANGES1
-rw-r--r--Makefile.am2
-rw-r--r--autodeps/linux.prov11
-rw-r--r--autodeps/linux.req15
-rw-r--r--rpm.spec.in2
-rw-r--r--rpmdb/rpmdb.c31
6 files changed, 40 insertions, 22 deletions
diff --git a/CHANGES b/CHANGES
index 81674080e..1c1099a37 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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;
}