From 80c40744e1bc9e659a92416e351f796e3ee72194 Mon Sep 17 00:00:00 2001 From: Alexey Tourbin Date: Wed, 7 Mar 2007 12:36:29 +0300 Subject: [PATCH] factored static.req --- autodeps/linux.req.in | 6 ------ configure.in | 1 + rpm-4_0.spec | 1 + scripts/Makefile.am | 2 ++ scripts/static.req.files | 5 +++++ scripts/static.req.in | 20 ++++++++++++++++++++ 6 files changed, 29 insertions(+), 6 deletions(-) create mode 100755 scripts/static.req.files create mode 100755 scripts/static.req.in diff --git a/autodeps/linux.req.in b/autodeps/linux.req.in index 6066d56..c0a0136 100755 --- a/autodeps/linux.req.in +++ b/autodeps/linux.req.in @@ -314,12 +314,6 @@ FindTclReqs() $r" } -if [ -n "$RPM_SUBPACKAGE_NAME" ]; then - if [ -n "${RPM_SUBPACKAGE_NAME%%glibc*}" -a -z "${RPM_SUBPACKAGE_NAME##*-devel-static}" ]; then - FOUND_REQS=glibc-devel-static - fi -fi - while IFS= read -r f; do if [ -n "$FIND_FILES" ]; then for p in $(grep '^[^#]' @RPMCONFIGDIR@/files.req.list); do diff --git a/configure.in b/configure.in index 2de6b5e..f66a373 100644 --- a/configure.in +++ b/configure.in @@ -1005,6 +1005,7 @@ AC_OUTPUT([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec scripts/shebang.req scripts/shell.prov scripts/shell.req + scripts/static.req scripts/strip_files scripts/verify-elf tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile diff --git a/rpm-4_0.spec b/rpm-4_0.spec index a9a9d05..7fb8cde 100644 --- a/rpm-4_0.spec +++ b/rpm-4_0.spec @@ -475,6 +475,7 @@ fi %rpmattr %_rpmlibdir/pkgconfig.* %rpmattr %_rpmlibdir/shell.* %rpmattr %_rpmlibdir/shebang.* +%rpmattr %_rpmlibdir/static.* %rpmattr %_rpmlibdir/verify-elf %rpmattr %_rpmlibdir/Specfile.pm %rpmattr %_rpmlibdir/*.awk diff --git a/scripts/Makefile.am b/scripts/Makefile.am index de60251..c2e4a6c 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -18,6 +18,7 @@ EXTRA_DIST = \ shebang.req shebang.req.files \ shell.req shell.req.files shell.prov shell.prov.files \ sql.prov sql.req strip_files \ + static.req static.req.files \ tcl.req trpm u_pkg.sh verify-elf vpkg-provides.sh vpkg-provides2.sh installprefix = $(DESTDIR) @@ -41,4 +42,5 @@ config_SCRIPTS = \ shebang.req shebang.req.files \ shell.req shell.req.files shell.prov shell.prov.files \ sql.prov sql.req strip_files \ + static.req static.req.files \ tcl.req trpm u_pkg.sh verify-elf vpkg-provides.sh vpkg-provides2.sh diff --git a/scripts/static.req.files b/scripts/static.req.files new file mode 100755 index 0000000..a4d22c5 --- /dev/null +++ b/scripts/static.req.files @@ -0,0 +1,5 @@ +#!/bin/sh -efu +while IFS=$'\t' read -r f t; do + [ -z "${f##*.a}" ] && [ -z "${t#*current ar archive*}" ] && + echo "$f" ||: +done diff --git a/scripts/static.req.in b/scripts/static.req.in new file mode 100755 index 0000000..cc30c30 --- /dev/null +++ b/scripts/static.req.in @@ -0,0 +1,20 @@ +#!/bin/sh -efu + +. @RPMCONFIGDIR@/functions + +StaticReq() +{ + local f="$1"; shift + [ -z "${f##*.a}" ] || return 0 + + local name="${RPM_SUBPACKAGE_NAME-}" + [ -n "$name" ] || name=$(rpmquery --qf '%{NAME}\n' -f -- "$f") + + case "$name" in + glibc*) return 0 ;; + *-devel-static) echo glibc-devel-static ;; + *) Verbose "package $name has static library ${f#${RPM_BUILD_ROOT-}}" ;; + esac +} + +ArgvFileAction StaticReq "$@"