- rpmdb iterator selectors permit default/strcmp/regex/glob matching.
- rpmdb iterator selectors permit negative matches.
- alpha: don't add "()(64bit)" dependency markers.
+ - ia64/sparc: <arch>.{req,prov} identical to linux.{req,prov}.
+ - add "rpmlib(ScriptletInterpreterArgs)" to track
+ %post -p "/sbin/ldconfig -n /usr/lib"
+ incompatibilities.
4.0 -> 4.0.[12]
- add doxygen and lclint annotations most everywhere.
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);
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);
interplist="$interplist $interp"
case $interp in
*/perl) perllist="$perllist $f" ;;
- *) [ "${f%.pm} != "${f}" ] && perllist="$perllist $f" ;;
+ *) [ "${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; }
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);
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);
interplist="$interplist $interp"
case $interp in
*/perl) perllist="$perllist $f" ;;
- *) [ "${f%.pm} != "${f}" ] && perllist="$perllist $f" ;;
+ *) [ "${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; }
if (progArgc == 1)
(void) headerAddEntry(pkg->header, progtag, RPM_STRING_TYPE,
*progArgv, progArgc);
- else
+ else {
+ (void) rpmlibNeedsFeature(pkg->header,
+ "ScriptletInterpreterArgs", "4.0.3-1");
(void) headerAddEntry(pkg->header, progtag, RPM_STRING_ARRAY_TYPE,
progArgv, progArgc);
+ }
if (*p != '\0')
(void) headerAddEntry(pkg->header, tag, RPM_STRING_TYPE, p, 1);
{ "rpmlib(HeaderLoadSortsTags)", "4.0.1-1",
( RPMSENSE_EQUAL),
N_("header tags are always sorted after being loaded.") },
+ { "rpmlib(ScriptletInterpreterArgs)", "4.0.3-1",
+ ( RPMSENSE_EQUAL),
+ N_("the scriptlet interpreter can use arguments from header.") },
{ NULL, NULL, 0, NULL }
};