diff --git a/STAGE2-redhat-rpm-config b/STAGE2-redhat-rpm-config new file mode 100644 index 0000000..f271c9a --- /dev/null +++ b/STAGE2-redhat-rpm-config @@ -0,0 +1,30 @@ +#requires libtool + +cd $SRC/redhat-rpm-config-* + +# makefile has been removed :/ +# make install + +RCCDIR=/usr/lib/rpm/redhat +RPMCFGDIR=/usr/lib/rpm +RPMFATTR=/usr/lib/rpm/fileattrs + +mkdir -p /usr/lib/rpm/redhat +install -p -m 644 -t $RCCDIR macros rpmrc +install -p -m 444 -t $RCCDIR redhat-hardened-* +install -p -m 755 -t $RCCDIR config.* +install -p -m 755 -t $RCCDIR dist.sh rpmsort symset-table kmodtool +install -p -m 755 -t $RCCDIR brp-* + +install -p -m 755 -t $RCCDIR find-* +mkdir -p $RCCDIR/find-provides.d +install -p -m 644 -t $RCCDIR/find-provides.d firmware.prov modalias.prov + +mkdir -p $RPMCFGDIR/macros.d +install -p -m 644 -t $RPMCFGDIR/macros.d macros.* + +mkdir -p $RPMFATTR +install -p -m 644 -t $RPMFATTR *.attr +install -p -m 755 -t $RPMCFGDIR kmod.prov + +cp -p /usr/share/libtool/config/config.{guess,sub} $RCCDIR/ diff --git a/brp-implant-ident-static b/brp-implant-ident-static new file mode 100644 index 0000000..4a26cea --- /dev/null +++ b/brp-implant-ident-static @@ -0,0 +1,34 @@ +#!/bin/bash + +# If using normal root, avoid changing anything. +if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then + exit 0 +fi + +tempdir=`mktemp -d /tmp/implant-ident-XXXXXX` +if test -z "$tempdir" ; then + exit 1 +fi + +cleanup() { + rm -f $tempdir/* + rmdir $tempdir +} +trap cleanup 0 1 2 3 4 5 6 7 8 9 11 13 14 15 + +for library in `find $RPM_BUILD_ROOT -type f -exec file \{\} \; | grep 'current ar archive' | sed 's,:.*,,g' ` ; do + pushd $tempdir > /dev/null + if test -n "$RPM_BUILD_ROOT" ; then + cleanedlibrary=`echo "$library" | sed s,"$RPM_BUILD_ROOT",,g` + else + cleanedlibrary="$library" + fi + ar x "$library" + for object in *.o ; do + echo '$RPM: '${RPM_PACKAGE_NAME:-UNKNOWN_NAME}-${RPM_PACKAGE_VERSION:-UNKNOWN_VERSION}-${RPM_PACKAGE_RELEASE:-UNKNOWN_RELEASE}:"$cleanedlibrary":"$object"' $' > __x_rpm_ident_string.txt + objcopy --add-section .rodata=__x_rpm_ident_string.txt "$object" + ar r "$library" "$object" + done + rm -f *.o + popd > /dev/null +done diff --git a/brp-java-repack-jars b/brp-java-repack-jars new file mode 100644 index 0000000..93696fc --- /dev/null +++ b/brp-java-repack-jars @@ -0,0 +1,105 @@ +#!/bin/sh + +# If using normal root, avoid changing anything. +if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then + exit 0 +fi + +# If zip is not installed, we can't repack the jars. +if [ ! -x /usr/bin/zip ]; then + exit 0 +fi +if [ ! -x /usr/bin/unzip ]; then + exit 0 +fi + +JARS=`find $RPM_BUILD_ROOT -type f -name \*.jar -not -size 0` +if [ ! -z "$JARS" ]; then + + # make $RPM_BUILD_ROOT/tmp if it doesn't exist + rmtmp=0 + if [ ! -x "$RPM_BUILD_ROOT/tmp" ]; then + mkdir -p $RPM_BUILD_ROOT/tmp + rmtmp=1 + fi + + # unpack every jar, set the date of the files and directories and + # repack the jar + OLD_IFS="$IFS" + IFS=$(printf '\n\t') + for j in $JARS ; do + JARNAME=`basename "$j"` + JTMPDIR=`mktemp -d -p $RPM_BUILD_ROOT/tmp "$JARNAME.tmpdir.XXXXXXXXXX"` || exit 1 + JARDIR=`mktemp -d -p $RPM_BUILD_ROOT/tmp "$JARNAME.jardir.XXXXXXXXXX"` || exit 1 + TIMEREF=`mktemp -p $RPM_BUILD_ROOT/tmp "$JARNAME.timeref.XXXXXXXXXX"` || exit 1 + + pushd "$JTMPDIR" > /dev/null + /usr/bin/unzip -qq -o "$j" + find -type d -exec chmod a+rx,u+w {} \; + find -type f -exec chmod a+r,u+w {} \; + rm -f "$j" + + # Create the directories first. + find -type d | LC_ALL=C sort | while read d; do + mkdir -p "$JARDIR/$d" + done + + # Get the modtime from the newest ChangeLog. If the project + # doesn't have a ChangeLog, Jan 1, 1970 will be used. + DATE="1970-01-01 UTC" + + if [ -z $_PACKAGE_BUILD_DIR ]; then + _PACKAGE_BUILD_DIR=$RPM_BUILD_DIR/$RPM_PACKAGE_NAME-$RPM_PACKAGE_VERSION + fi + + if [ -d $_PACKAGE_BUILD_DIR ]; then + CHANGELOGS=`find $_PACKAGE_BUILD_DIR -type f -name ChangeLog` + if [ ! -z "$CHANGELOGS" ]; then + for c in $CHANGELOGS; do + TMPDATE=`stat -c %y $c | cut -d " " -f 1-2` + if [ `date --date="$TMPDATE" +%s` -gt `date --date="$DATE" +%s` ]; then + DATE="$TMPDATE" + fi + done + fi + fi + + # move the contents over to the a new directory in order and set + # the times. + find -type f | LC_ALL=C sort | while read f; do + cp "$f" "$JARDIR/$f" + touch --date="$DATE" "$JARDIR/$f" + done + popd > /dev/null + + # Set the times of the directories. + find "$JARDIR" -type d | while read d; do + touch --date="$DATE" "$d" + done + + # make the jar + pushd "$JARDIR" > /dev/null + + if [ -n "`find -not -name '.'`" ]; then + if [ -e META-INF/MANIFEST.MF ]; then + /usr/bin/zip -q -X -9 "$j" META-INF/MANIFEST.MF + fi + find * -not -name '.' | LC_ALL=C sort | /usr/bin/zip -u -q -X -9 "$j" -@ + else + # Put the empty jar back + touch "$j" + fi + popd > /dev/null + + # Cleanup. + rm -rf "$JTMPDIR" + rm -rf "$JARDIR" + rm -f "$TIMEREF" + done + IFS="$OLD_IFS" + + # remove $RPM_BUILD_ROOT/tmp if we created it + if [ $rmtmp -eq 1 ]; then + rm -rf $RPM_BUILD_ROOT/tmp + fi +fi diff --git a/brp-kmod-restore-perms b/brp-kmod-restore-perms old mode 100755 new mode 100644 diff --git a/brp-kmod-set-exec-bit b/brp-kmod-set-exec-bit old mode 100755 new mode 100644 diff --git a/brp-ldconfig b/brp-ldconfig old mode 100755 new mode 100644 diff --git a/brp-mangle-shebangs b/brp-mangle-shebangs old mode 100755 new mode 100644 diff --git a/dist.sh b/dist.sh old mode 100755 new mode 100644 diff --git a/find-provides b/find-provides old mode 100755 new mode 100644 diff --git a/find-provides.ksyms b/find-provides.ksyms old mode 100755 new mode 100644 diff --git a/find-requires b/find-requires old mode 100755 new mode 100644 diff --git a/find-requires.ksyms b/find-requires.ksyms old mode 100755 new mode 100644 diff --git a/gpgverify b/gpgverify old mode 100755 new mode 100644 diff --git a/kmodtool b/kmodtool old mode 100755 new mode 100644 diff --git a/rpmlint.cf b/rpmlint.cf new file mode 100644 index 0000000..557f414 --- /dev/null +++ b/rpmlint.cf @@ -0,0 +1 @@ +addFilter("no-%build-section") diff --git a/rpmsort b/rpmsort old mode 100755 new mode 100644 diff --git a/symset-table b/symset-table old mode 100755 new mode 100644