From 3b42ea2913d5aa8077aba9fe1761b824398f9804 Mon Sep 17 00:00:00 2001 From: rhatto Date: Thu, 19 Oct 2006 19:31:21 +0000 Subject: fixing permissions, part 1 git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@455 370017ae-e619-0410-ac65-c121f96126d4 --- patches/gzip/gzip.SlackBuild | 180 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100755 patches/gzip/gzip.SlackBuild (limited to 'patches/gzip/gzip.SlackBuild') diff --git a/patches/gzip/gzip.SlackBuild b/patches/gzip/gzip.SlackBuild new file mode 100755 index 00000000..1b65b887 --- /dev/null +++ b/patches/gzip/gzip.SlackBuild @@ -0,0 +1,180 @@ +#!/bin/bash +# Copyright 2006 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Original script: +# ftp://ftp.slackware.com/pub/slackware/slackware-10.2/patches/source/gzip/gzip.SlackBuild +# +# Changes: 20060921 - ported it to http://slack.sarava.org/slackbuilds standards +# + +CWD="`pwd`" + +if [ -f "/etc/slackbuildrc" ]; then + source /etc/slackbuildrc +fi + +if [ -f "~/.slackbuildrc" ]; then + source ~/.slackbuildrc +fi + +PACKAGE="gzip" +PKGNAM="$PACKAGE" +VERSION=${VERSION:=1.3.5} +ARCH=${ARCH:=i486} +BUILD=${BUILD:=1rha} +SRC_DIR=${SRC:=$CWD} +TMP=${TMP:=/tmp} +REPOS=${REPOS:=$TMP} + +RTOOL="wget" +PACKAGE_EXT="bz2" +SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" +URL="ftp://ftp.slackware.com/pub/slackware/slackware-10.2/patches/source/gzip/$SRC" + +SRC_DIR="$SRC_DIR/$PACKAGE" +mkdir -p $SRC_DIR + +if [ "$PACKAGE_EXT" == "bz2" ]; then + tarflag="j" +else + tarflag="z" +fi + +if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" +fi + +TMP="$TMP/$PACKAGE" +PKG=$TMP/package-${PKGNAM} +rm -rf $TMP +mkdir -p $PKG + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf$tarflag $SRC_DIR/${PKGNAM}-$VERSION.tar.bz2 +cd ${PKGNAM}-$VERSION + +zcat $CWD/gzip-1.3.5-huft-build-return-fix.patch.gz | patch -p0 --verbose || exit 1 +zcat $CWD/gzip-1.3.5-gunzip-dir.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gzip-1.3.5-gzip-perm.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/gzip-1.3.5-google-owl-bound.diff.gz | patch -p1 --verbose || exit 1 + +# Make sure ownerships and permissions are sane: +chown -R root:root . +find . -perm 666 -exec chmod 644 {} \; +find . -perm 664 -exec chmod 644 {} \; +find . -perm 600 -exec chmod 644 {} \; +find . -perm 444 -exec chmod 644 {} \; +find . -perm 400 -exec chmod 644 {} \; +find . -perm 440 -exec chmod 644 {} \; +find . -perm 777 -exec chmod 755 {} \; +find . -perm 775 -exec chmod 755 {} \; +find . -perm 511 -exec chmod 755 {} \; +find . -perm 711 -exec chmod 755 {} \; +find . -perm 555 -exec chmod 755 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + $ARCH-slackware-linux + +# Build and install: +make -j4 || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Fix locations: +( cd $PKG + mkdir bin + mv usr/bin/gzip bin + ( cd bin ; rm -rf gunzip ) + ( cd bin ; ln -sf gzip gunzip ) + ( cd bin ; rm -rf zcat ) + ( cd bin ; ln -sf gzip zcat ) + ( cd usr/bin ; rm -rf gzip ) + ( cd usr/bin ; ln -sf ../../bin/gzip gzip ) + ( cd usr/bin ; rm -rf gunzip ) + ( cd usr/bin ; ln -sf ../../bin/gunzip gunzip ) + ( cd usr/bin ; rm -rf zcat ) + ( cd usr/bin ; ln -sf ../../bin/zcat zcat ) + ( cd usr/bin ; rm -rf zcmp ) + ( cd usr/bin ; ln -sf zdiff zcmp ) + ( cd usr/bin ; rm -rf zegrep ) + ( cd usr/bin ; ln -sf zgrep zegrep ) + ( cd usr/bin ; rm -rf zfgrep ) + ( cd usr/bin ; ln -sf zgrep zfgrep ) +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING INSTALL NEWS README README-alpha THANKS TODO \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $TMP/package-${PKGNAM} +makepkg -l y -c n $REPOS/${PKGNAM}-$VERSION-$ARCH-$BUILD.tgz + +if [ "$CLEANUP" == "yes" ]; then + rm -rf $TMP +fi + -- cgit v1.2.3