add several BuildRoot FTW policies.
authorjbj <devnull@localhost>
Fri, 7 Jan 2000 17:32:27 +0000 (17:32 +0000)
committerjbj <devnull@localhost>
Fri, 7 Jan 2000 17:32:27 +0000 (17:32 +0000)
CVS patchset: 3511
CVS date: 2000/01/07 17:32:27

CHANGES
configure.in
macros.in
rpm.spec
scripts/Makefile.am
scripts/Makefile.in
scripts/brp-compress [new file with mode: 0755]
scripts/brp-strip [new file with mode: 0755]
scripts/brp-strip-comment-note [new file with mode: 0755]

diff --git a/CHANGES b/CHANGES
index a1733bf..a598828 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -35,6 +35,7 @@
        - fix: fp.subDir was incorrectly set to NULL in sparse chroot's.
        - fix: manageFile needs to and with O_WRONLY(=1), not O_RDONLY(=0).
        - fix: resurrect failed glob error message during build.
+       - add several BuildRoot FTW policies.
 
 3.0.2 -> 3.0.3
        - add --eval to find result of macro expansion.
index d56f273..9aba0de 100644 (file)
@@ -185,6 +185,8 @@ dnl Solaris prefers /usr/xpg4/bin/id
     AC_PATH_PROG(__SSH, ssh, /usr/bin/ssh, $MYPATH)
     AC_PATH_PROG(__TAR, tar, /bin/tar, $MYPATH)
 
+    AC_PATH_PROG(__LD, ld, /usr/bin/ld, $MYPATH)
+    AC_PATH_PROG(__NM, nm, /usr/bin/nm, $MYPATH)
     AC_PATH_PROG(__OBJCOPY, objcopy, /usr/bin/objcopy, $MYPATH)
     AC_PATH_PROG(__OBJDUMP, objdump, /usr/bin/objdump, $MYPATH)
     AC_PATH_PROG(__STRIP, strip, /usr/bin/strip, $MYPATH)
index 37ddfeb..af441e6 100644 (file)
--- a/macros.in
+++ b/macros.in
@@ -1,4 +1,4 @@
-# $Id: macros.in,v 1.39 1999/11/24 00:03:54 jbj Exp $
+# $Id: macros.in,v 1.40 2000/01/07 17:32:28 jbj Exp $
 #==============================================================================
 # Macro naming conventions (preliminary):
 #
@@ -53,8 +53,8 @@
 %__ar                  @AR@
 %__cc                  @CC@
 %__cpp                 @CPP@
-%__ld                  @LD@
-%__nm                  @NM@
+%__ld                  @__LD@
+%__nm                  @__NM@
 %__objcopy             @__OBJCOPY@
 %__objdump             @__OBJDUMP@
 %__ranlib              @RANLIB@
index 75cbfc3..5463544 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -2,7 +2,7 @@ Summary: The Red Hat package management system.
 Name: rpm
 %define version 3.0.4
 Version: %{version}
-Release: 0.29
+Release: 0.30
 Group: System Environment/Base
 Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-3.0.x/rpm-%{version}.tar.gz
 Copyright: GPL
index 50d0201..2d9600f 100644 (file)
@@ -3,6 +3,7 @@
 AUTOMAKE_OPTIONS = 1.4 foreign
 
 EXTRA_DIST = \
+       brp-compress brp-strip brp-strip-comment-note \
        check-prereqs convertrpmrc.sh find-lang.sh find-prov.pl find-req.pl \
        freshen.sh get_magic.pl getpo.sh http.req magic.prov magic.req \
        perl.prov perl.req rpmdiff u_pkg.sh vpkg-provides.sh vpkg-provides2.sh
@@ -13,6 +14,7 @@ all:
 
 configdir = ${prefix}/lib/rpm
 config_SCRIPTS = \
+       brp-compress brp-strip brp-strip-comment-note \
        check-prereqs convertrpmrc.sh find-lang.sh find-prov.pl find-req.pl \
        freshen.sh get_magic.pl getpo.sh http.req magic.prov magic.req \
        perl.prov perl.req rpmdiff u_pkg.sh vpkg-provides.sh vpkg-provides2.sh
index d0c5a1a..5f31d70 100644 (file)
@@ -132,9 +132,11 @@ __CP = @__CP@
 __CPIO = @__CPIO@
 __ID = @__ID@
 __INSTALL = @__INSTALL@
+__LD = @__LD@
 __MAKE = @__MAKE@
 __MKDIR = @__MKDIR@
 __MV = @__MV@
+__NM = @__NM@
 __OBJCOPY = @__OBJCOPY@
 __OBJDUMP = @__OBJDUMP@
 __PATCH = @__PATCH@
@@ -150,13 +152,13 @@ varprefix = @varprefix@
 
 AUTOMAKE_OPTIONS = 1.4 foreign
 
-EXTRA_DIST =   check-prereqs convertrpmrc.sh find-lang.sh find-prov.pl find-req.pl     freshen.sh get_magic.pl getpo.sh http.req magic.prov magic.req  perl.prov perl.req rpmdiff u_pkg.sh vpkg-provides.sh vpkg-provides2.sh
+EXTRA_DIST =   brp-compress brp-strip brp-strip-comment-note   check-prereqs convertrpmrc.sh find-lang.sh find-prov.pl find-req.pl     freshen.sh get_magic.pl getpo.sh http.req magic.prov magic.req  perl.prov perl.req rpmdiff u_pkg.sh vpkg-provides.sh vpkg-provides2.sh
 
 
 installprefix = $(DESTDIR)
 
 configdir = ${prefix}/lib/rpm
-config_SCRIPTS =       check-prereqs convertrpmrc.sh find-lang.sh find-prov.pl find-req.pl     freshen.sh get_magic.pl getpo.sh http.req magic.prov magic.req  perl.prov perl.req rpmdiff u_pkg.sh vpkg-provides.sh vpkg-provides2.sh
+config_SCRIPTS =       brp-compress brp-strip brp-strip-comment-note   check-prereqs convertrpmrc.sh find-lang.sh find-prov.pl find-req.pl     freshen.sh get_magic.pl getpo.sh http.req magic.prov magic.req  perl.prov perl.req rpmdiff u_pkg.sh vpkg-provides.sh vpkg-provides2.sh
 
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../config.h
diff --git a/scripts/brp-compress b/scripts/brp-compress
new file mode 100755 (executable)
index 0000000..5d47109
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+       exit 0
+fi
+
+cd $RPM_BUILD_ROOT
+
+# Compress man pages
+COMPRESS=gzip
+
+for d in ./usr/man/man* ./usr/man/*/man* ./usr/X11R6/man/man* ./usr/lib/perl5/man/man*
+do
+    [ -d $d ] || continue
+    for f in `find $d -type f | sed -e 's/[^ ]*\.gz//' -e 's/[^ ]*\.bz2//'`
+    do
+       $COMPRESS $f
+    done
+done
diff --git a/scripts/brp-strip b/scripts/brp-strip
new file mode 100755 (executable)
index 0000000..7e2939a
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+       exit 0
+fi
+
+# Strip ELF binaries
+for f in `find $RPM_BUILD_ROOT -type f -a -perm +111 -exec file {} \; | \
+       grep -v ' shared object,' | \
+       sed -n -e 's/^\(.*\):[  ]*ELF.*, not stripped/\1/p'`; do
+       strip $f
+done
diff --git a/scripts/brp-strip-comment-note b/scripts/brp-strip-comment-note
new file mode 100755 (executable)
index 0000000..3413f44
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+       exit 0
+fi
+
+# Strip .comment and .note sections (the latter only if it is not allocated)
+# for already stripped elf files in the build root
+for f in `find $RPM_BUILD_ROOT -type f -a -perm +111 -exec file {} \; | \
+       sed -n -e 's/^\(.*\):[  ]*ELF.*, stripped/\1/p'`; do
+       note="-R .note"
+       if objdump -h $f | grep '^[     ]*[0-9]*[       ]*.note[        ]' -A 1 | \
+               grep ALLOC >/dev/null; then
+               note=
+       fi
+       strip -R .comment $note $f
+done