diff options
-rwxr-xr-x | app/crypt/gnupg2/gnupg2.SlackBuild | 160 | ||||
-rw-r--r-- | app/crypt/gnupg2/slack-required | 5 | ||||
-rwxr-xr-x | dev/libs/libassuan/libassuan.SlackBuild | 148 | ||||
-rw-r--r-- | dev/libs/libassuan/slack-required | 1 | ||||
-rwxr-xr-x | dev/libs/libgcrypt/libgcrypt.SlackBuild | 183 | ||||
-rw-r--r-- | dev/libs/libgcrypt/slack-desc | 19 | ||||
-rw-r--r-- | dev/libs/libgcrypt/slack-required | 1 | ||||
-rwxr-xr-x | dev/libs/libgpg-error/libgpg-error.SlackBuild | 182 | ||||
-rw-r--r-- | dev/libs/libgpg-error/slack-desc | 19 | ||||
-rw-r--r-- | dev/libs/libgpg-error/slack-required | 3 | ||||
-rwxr-xr-x | dev/libs/libksba/libksba.SlackBuild | 148 | ||||
-rw-r--r-- | dev/libs/libksba/slack-required | 1 | ||||
-rwxr-xr-x | dev/libs/libpth/libpth.SlackBuild | 166 |
13 files changed, 849 insertions, 187 deletions
diff --git a/app/crypt/gnupg2/gnupg2.SlackBuild b/app/crypt/gnupg2/gnupg2.SlackBuild new file mode 100755 index 00000000..d18c0f2a --- /dev/null +++ b/app/crypt/gnupg2/gnupg2.SlackBuild @@ -0,0 +1,160 @@ +#!/bin/bash +# +# SlackBuild for gnupg2 (GNU Privacy Guard v2): +# http://www.gnupg.org/ +# +# Author: Luis ( luis at riseup d0t net ) +# Required binaries: gpg, gzip, wget +# + +CWD=`pwd` + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +SRC_NAME="gnupg" +PKG_NAME="gnupg2" +ARCH=${ARCH:=i486} +VERSION=${VERSION:=2.0.1} +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD} +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PKG_NAME} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} + +# Set system libraries' path and optmization flags based on $ARCH +LIBDIR=$PREFIX/lib + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mtune=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" + LIBDIR="$PREFIX/lib64" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +# Clean up any leftovers of previous builds +rm -rf $SRC_NAME-$VERSION +rm -rf $PKG +mkdir -p $SRC_DIR +mkdir -p $PKG +mkdir -p $REPOS + +# Import (minimized) signing key from +# http://www.gnupg.org/(en)/signature_key.html +gpg --import << EOGPG +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re +oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V +JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ +tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm +BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg +xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo +FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU +z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw= +=3fgc +-----END PGP PUBLIC KEY BLOCK----- +EOGPG + +# Dowload source and its signature, if necessary +SRC="$SRC_NAME-$VERSION.tar.bz2" +URL="ftp://ftp.gnupg.org/gcrypt/gnupg/$SRC" + +if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi +if [ ! -f "$SRC_DIR/$SRC.sig" ]; then + wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET +fi + +# Check source's signature +gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG + +# Untar, configure, compile and install +tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $SRC_NAME-$VERSION +CFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=$PREFIX --libdir=$LIBDIR \ + --enable-static-rnd=linux --enable-noexecstack || exit $ERROR_CONF +make || exit $ERROR_MAKE +make install DESTDIR=$PKG || exit $ERROR_INSTALL + +# 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 +) + +# Install gpg2, gpgv2, gpg-agent, and gpgsm already suid root +chmod 4755 $PKG/$PREFIX/bin/{gpg2,gpgv2,gpg-agent,gpgsm} + +# Compress info and man pages +mv -f $PKG/$PREFIX/share/info $PKG/$PREFIX/ +mv -f $PKG/$PREFIX/share/man $PKG/$PREFIX/ +mv -f $PKG/$PREFIX/share/gnupg $PKG/$PREFIX/share/gnupg2 +rm -rf $PKG/$PREFIX/info/dir +gzip -9 $PKG/$PREFIX/info/* +gzip -9 $PKG/$PREFIX/man/*/* + +# Install documentation +DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README* THANKS TODO VERSION" +mkdir -p $PKG/$PREFIX/doc/$PKG_NAME-$VERSION +cp -a $DOCS $PKG/$PREFIX/doc/$PKG_NAME-$VERSION +( cd $PKG/$PREFIX/doc/$PKG_NAME-$VERSION + ln -sf /$PREFIX/share/$PKG_NAME/FAQ . + ln -sf /$PREFIX/share/$PKG_NAME/faq.html . +) + +# Add slack-desc file +mkdir -p $PKG/install +cat << EOF > $PKG/install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------------| +gnupg2: gnupg2 (The GNU Privacy Guard v2) +gnupg2: +gnupg2: The GNU Privacy Guard (GnuPG) is GNU's tool for secure communication +gnupg2: and data storage. It can be used to encrypt data, create digital +gnupg2: signatures, help authenticating using Secure Shell and to provide a +gnupg2: framework for public key cryptography. It includes an advanced key +gnupg2: management facility and is compliant with the OpenPGP and S/MIME +gnupg2: standards. +gnupg2: +gnupg2: For more information, http://www.gnupg.org/ +gnupg2: +EOF + +# Build the package +cd $PKG +makepkg -l y -c n $REPOS/$PKG_NAME-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG + +# Delete build directory, if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf $PKG +fi diff --git a/app/crypt/gnupg2/slack-required b/app/crypt/gnupg2/slack-required new file mode 100644 index 00000000..95078e30 --- /dev/null +++ b/app/crypt/gnupg2/slack-required @@ -0,0 +1,5 @@ +libpth >= 1.3.7 +libgpg-error >= 1.4 +libgcrypt >= 1.2.0 +libassuan >= 1.0.1 +libksba >= 1.0.0 diff --git a/dev/libs/libassuan/libassuan.SlackBuild b/dev/libs/libassuan/libassuan.SlackBuild new file mode 100755 index 00000000..ad0b9886 --- /dev/null +++ b/dev/libs/libassuan/libassuan.SlackBuild @@ -0,0 +1,148 @@ +#!/bin/bash +# +# SlackBuild for libassuan: +# http://www.gnupg.org/(en)/related_software/libassuan/ +# +# Author: Luis ( luis at riseup d0t net ) +# Required binaries: gpg, gzip, wget +# + +CWD=`pwd` + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +PACKAGE="libassuan" +ARCH=${ARCH:=i486} +VERSION=${VERSION:=1.0.1} +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD} +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PACKAGE} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} + +# Set system libraries' path and optmization flags based on $ARCH +LIBDIR=$PREFIX/lib + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mtune=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" + LIBDIR="$PREFIX/lib64" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +# Clean up any leftovers of previous builds +rm -rf $PACKAGE-$VERSION +rm -rf $PKG +mkdir -p $SRC_DIR +mkdir -p $PKG +mkdir -p $REPOS + +# Import (minimized) signing key from +# http://www.gnupg.org/(en)/signature_key.html +gpg --import << EOGPG +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re +oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V +JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ +tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm +BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg +xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo +FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU +z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw= +=3fgc +-----END PGP PUBLIC KEY BLOCK----- +EOGPG + +# Dowload source and its signature, if necessary +SRC="$PACKAGE-$VERSION.tar.bz2" +URL="ftp://ftp.gnupg.org/gcrypt/libassuan/$SRC" + +if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi +if [ ! -f "$SRC_DIR/$SRC.sig" ]; then + wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET +fi + +# Check source's signature +gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG + +# Untar, configure, compile and install +tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $PACKAGE-$VERSION +CFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF +make || exit $ERROR_MAKE +make install DESTDIR=$PKG || exit $ERROR_INSTALL + +# 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 +) + +# Compress info pages +mv -f $PKG/$PREFIX/share/info $PKG/$PREFIX/ +rm -rf $PKG/$PREFIX/info/dir +gzip -9 $PKG/$PREFIX/info/* + +# Install documentation +DOCS="AUTHORS COPYING* ChangeLog INSTALL NEWS README* THANKS TODO VERSION" +mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION +cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION + +# Add slack-desc file +mkdir -p $PKG/install +cat << EOF > $PKG/install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +libassuan: libassuan +libassuan: +libassuan: Libassuan is a small library implementing the so-called Assuan +libassuan: protocol. This protocol is used for IPC between most newer GnuPG +libassuan: components. Both, server and client side functions are provided. +libassuan: +libassuan: For more information, +libassuan: http://www.gnupg.org/(en)/related_software/libassuan/ +libassuan: +libassuan: +libassuan: +EOF + +# Build the package +cd $PKG +makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG + +# Delete build directory, if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf $PKG +fi diff --git a/dev/libs/libassuan/slack-required b/dev/libs/libassuan/slack-required new file mode 100644 index 00000000..93bd56be --- /dev/null +++ b/dev/libs/libassuan/slack-required @@ -0,0 +1 @@ +libpth diff --git a/dev/libs/libgcrypt/libgcrypt.SlackBuild b/dev/libs/libgcrypt/libgcrypt.SlackBuild index c64ed336..29c047d5 100755 --- a/dev/libs/libgcrypt/libgcrypt.SlackBuild +++ b/dev/libs/libgcrypt/libgcrypt.SlackBuild @@ -1,109 +1,148 @@ #!/bin/bash # -# slackbuild for libgcrypt from http://www.slacky.it/download/libraries/libgcrypt/1.2.2/src -# -# Heavily based on the Slackware 10.2 SlackBuild +# SlackBuild for libgcrypt: # http://directory.fsf.org/security/libgcrypt.html # -# small changes by rhatto -# -# TODO: check source signature +# Author: Luis ( luis at riseup d0t net ) +# Required binaries: gpg, gzip, wget # CWD=`pwd` +# Look for slackbuildrc if [ -f ~/.slackbuildrc ]; then source ~/.slackbuildrc elif [ -f /etc/slackbuildrc ]; then source /etc/slackbuildrc fi -# default settings +# Set variables PACKAGE="libgcrypt" ARCH=${ARCH:=i486} -VERSION=${VERSION:=1.2.2} -BUILD=${BUILD:=1rha} -SRC_DIR=${SRC:=$CWD} +VERSION=${VERSION:=1.2.3} +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD} TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PACKAGE} REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} -if [ "$ARCH" == "x86_64" ]; then - LIBDIR=/usr/lib64 -else - LIBDIR=/usr/lib -fi - -RTOOL="wget" -PACKAGE_EXT="bz2" -NAME="$PACKAGE" -SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" -URL="ftp://ftp.gnupg.org/gcrypt/$PACKAGE/$SRC" - -if [ "$PACKAGE_EXT" == "bz2" ]; then - tarflag="j" -else - tarflag="z" -fi - -SRC_DIR="$SRC_DIR/$PACKAGE" -mkdir -p $SRC_DIR - -if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then - wget "$URL" -O "$SRC_DIR/$SRC" - wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" -fi +# Set system libraries' path and optmization flags based on $ARCH +LIBDIR=$PREFIX/lib -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mtune=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mcpu=i686" + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" + LIBDIR="$PREFIX/lib64" fi -TMP="$TMP/$PACKAGE" -PKG=$TMP/package-$PACKAGE -rm -rf $TMP +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +# Clean up any leftovers of previous builds +rm -rf $PACKAGE-$VERSION +rm -rf $PKG +mkdir -p $SRC_DIR mkdir -p $PKG +mkdir -p $REPOS + +# Import (minimized) signing key from +# http://www.gnupg.org/(en)/signature_key.html +gpg --import << EOGPG +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re +oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V +JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ +tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm +BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg +xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo +FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU +z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw= +=3fgc +-----END PGP PUBLIC KEY BLOCK----- +EOGPG + +# Dowload source and its signature, if necessary +SRC="$PACKAGE-$VERSION.tar.bz2" +URL="ftp://ftp.gnupg.org/gcrypt/libgcrypt/$SRC" + +if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi +if [ ! -f "$SRC_DIR/$SRC.sig" ]; then + wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET +fi -cd $TMP +# Check source's signature +gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG -tar xvf$tarflag $SRC_DIR/$SRC -cd $NAME-$VERSION -chown -R root.root . +# Untar, configure, compile and install +tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $PACKAGE-$VERSION CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure --prefix=/usr --libdir="$LIBDIR" \ ---disable-static \ ---enable-m-guard \ ---program-prefix="" \ ---program-suffix="" \ -$ARCH-slackware-linux -make || exit 32 -make install DESTDIR=$PKG -mkdir -p $PKG/usr/doc/$NAME-$VERSION -cp -a AUTHORS BUGS COPYING* NEWS README* THANKS TODO VERSION \ - $PKG/usr/doc/$NAME-$VERSION + ./configure \ + --prefix=$PREFIX --libdir=$LIBDIR \ + --enable-m-guard --enable-noexecstack || exit $ERROR_CONF +make || exit $ERROR_MAKE +make install DESTDIR=$PKG || exit $ERROR_INSTALL +# 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 + 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 ) -gzip $PKG/usr/info/*.info -rm $PKG/usr/info/dir -chown -R root.bin $PKG/usr/bin -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cd $CWD -cp -a *.SlackBuild slack-desc $PKG/usr/doc/$NAME-$VERSION -chown -R root.root $PKG/usr/doc/$NAME-$VERSION -echo 'chroot . /sbin/ldconfig' > $PKG/install/doinst.sh +# Compress info pages +rm -rf $PKG/$PREFIX/info/dir +gzip -9 $PKG/$PREFIX/info/* + +# Install documentation +DOCS="AUTHORS BUGS COPYING* ChangeLog INSTALL NEWS README* THANKS TODO VERSION" +mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION +cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION + +# Add slack-desc file +mkdir -p $PKG/install +cat << EOF > $PKG/install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-----------------------------------------------------| +libgcrypt: libgcrypt (Cryptographic library) +libgcrypt: +libgcrypt: Libgcrypt is a general purpose cryptographic library based on the +libgcrypt: code from GnuPG. It provides functions for all cryptographic +libgcrypt: building blocks: symmetric ciphers, hash algorithms, MACs, public +libgcrypt: key algorithms, large integer functions, random numbers and a lot +libgcrypt: of supporting functions. +libgcrypt: +libgcrypt: For more information, +libgcrypt: http://directory.fsf.org/security/libgcrypt.html +libgcrypt: +EOF + +# Build the package cd $PKG -#requiredbuilder -v -y $PKG - -makepkg -l y -c n $REPOS/$NAME-$VERSION-$ARCH-$BUILD.tgz +makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG +# Delete build directory, if requested if [ "$CLEANUP" == "yes" ]; then - rm -rf $TMP + rm -rf $PKG fi diff --git a/dev/libs/libgcrypt/slack-desc b/dev/libs/libgcrypt/slack-desc deleted file mode 100644 index a4bfb8bf..00000000 --- a/dev/libs/libgcrypt/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -libgcrypt: LibGcrypt -libgcrypt: -libgcrypt: Libgcrypt is a general purpose crypto library based on the code -libgcrypt: used in GnuPG. We can't start with a new version number because -libgcrypt: libgcrypt was part of gnupg 1.1 and some applications already used -libgcrypt: it and tested for the version number. We believe that the API can -libgcrypt: stay as it is, except that new functions may be added in the -libgcrypt: future. -libgcrypt: -libgcrypt: -libgcrypt: diff --git a/dev/libs/libgcrypt/slack-required b/dev/libs/libgcrypt/slack-required new file mode 100644 index 00000000..b60218b4 --- /dev/null +++ b/dev/libs/libgcrypt/slack-required @@ -0,0 +1 @@ +libgpg-error >= 0.5 diff --git a/dev/libs/libgpg-error/libgpg-error.SlackBuild b/dev/libs/libgpg-error/libgpg-error.SlackBuild index dafd558b..95431a71 100755 --- a/dev/libs/libgpg-error/libgpg-error.SlackBuild +++ b/dev/libs/libgpg-error/libgpg-error.SlackBuild @@ -1,113 +1,143 @@ #!/bin/bash # -# slackbuild for libgpg-error from -# http://www.slacky.it/download/libraries/libgpg-error/1.3/src/libgpg-error.SlackBuild +# SlackBuild for libgpg-error: +# http://www.gnupg.org/(en)/related_software/libgpg-error/ # -# Heavily based on the Slackware 10.2 SlackBuild -# http://www.gnupg.org/(en)/download/index.html -# -# small changes by rhatto +# Author: Luis ( luis at riseup d0t net ) +# Required binaries: gpg, wget # -CWD="`pwd`" +CWD=`pwd` +# Look for slackbuildrc if [ -f ~/.slackbuildrc ]; then source ~/.slackbuildrc elif [ -f /etc/slackbuildrc ]; then source /etc/slackbuildrc fi -# default settings +# Set variables PACKAGE="libgpg-error" ARCH=${ARCH:=i486} VERSION=${VERSION:=1.4} -BUILD=${BUILD:=1rha} -SRC_DIR=${SRC:=$CWD} +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD} TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PACKAGE} REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} -if [ "$ARCH" == "x86_64" ]; then - LIBDIR=/usr/lib64 -else - LIBDIR=/usr/lib -fi - -RTOOL="wget" -PACKAGE_EXT="bz2" -SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" -#KEY="http://..." -SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT" -URL="http://ftp.gnupg.org/GnuPG/libgpg-error/$SRC" - -if [ "$PACKAGE_EXT" == "bz2" ]; then - tarflag="j" -else - tarflag="z" -fi - -SRC_DIR="$SRC_DIR/$PACKAGE" -mkdir -p $SRC_DIR - -if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then - wget "$URL" -O "$SRC_DIR/$SRC" - wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" -fi - -# TODO: signature checking -#if [ ! -f "$SRC_DIR/$PACKAGE-key.asc" ]; then -# wget "$KEY" -O "$SRC_DIR/$PACKAGE-key.asc" && gpg --import $SRC_DIR/$PACKAGE-key.asc -#fi - -gpg --verify $SRC_DIR/$SRC.sig $SRC || echo WARNING: Could not check signature or WRONG signature found. +# Set system libraries' path and optmization flags based on $ARCH +LIBDIR=$PREFIX/lib -NAME="$PACKAGE" - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mtune=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mcpu=i686" + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" + LIBDIR="$PREFIX/lib64" fi -TMP="$TMP/$PACKAGE" -PKG=$TMP/package-libgpg-error -rm -rf $TMP +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +# Clean up any leftovers of previous builds +rm -rf $PACKAGE-$VERSION +rm -rf $PKG +mkdir -p $SRC_DIR mkdir -p $PKG +mkdir -p $REPOS + +# Import (minimized) signing key from +# http://www.gnupg.org/(en)/signature_key.html +gpg --import << EOGPG +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re +oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V +JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ +tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm +BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg +xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo +FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU +z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw= +=3fgc +-----END PGP PUBLIC KEY BLOCK----- +EOGPG + +# Dowload source and its signature, if necessary +SRC="$PACKAGE-$VERSION.tar.bz2" +URL="http://ftp.gnupg.org/GnuPG/libgpg-error/$SRC" -cd $TMP +if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi +if [ ! -f "$SRC_DIR/$SRC.sig" ]; then + wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET +fi + +# Check source's signature +gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG -tar xvf$tarflag $SRC_DIR/$NAME-$VERSION.tar.bz2 -cd $NAME-$VERSION -chown -R root.root . +# Untar, configure, compile and install +tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $PACKAGE-$VERSION CFLAGS="$SLKCFLAGS" \ -./configure --prefix=/usr --libdir=$LIBDIR \ ---disable-static \ ---program-prefix="" \ ---program-suffix="" \ -$ARCH-slackware-linux -make || exit 32 -make install DESTDIR=$PKG -mkdir -p $PKG/usr/doc/$NAME-$VERSION -cp -a ABOUT-NLS AUTHORS ChangeLog COPYING* INSTALL NEWS README $PKG/usr/doc/$NAME-$VERSION + ./configure \ + --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF +make || exit $ERROR_MAKE +make install DESTDIR=$PKG || exit $ERROR_INSTALL +# 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 + 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 ) -chown -R root.bin $PKG/usr/bin +# Install documentation +DOCS="ABOUT-NLS AUTHORS ChangeLog COPYING* INSTALL NEWS README" +mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION +cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION + +# Add slack-desc file mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc -cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild -echo 'chroot . /sbin/ldconfig' > $PKG/install/doinst.sh +cat << EOF > $PKG/install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------| +libgpg-error: libgpg-error +libgpg-error: +libgpg-error: Libgpg-error is a small library that defines common error values +libgpg-error: for all GnuPG components. Among these are GPG, GPGSM, GPGME, +libgpg-error: GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard +libgpg-error: Daemon and possibly more in the future. +libgpg-error: +libgpg-error: For more information, +libgpg-error: http://www.gnupg.org/(en)/related_software/libgpg-error/ +libgpg-error: +libgpg-error: +EOF + +# Build the package cd $PKG -# requiredbuilder -v -y -s $CWD $PKG - -makepkg -l y -c n $REPOS/$NAME-$VERSION-$ARCH-$BUILD.tgz +makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG +# Delete build directory, if requested if [ "$CLEANUP" == "yes" ]; then - rm -rf $TMP + rm -rf $PKG fi - diff --git a/dev/libs/libgpg-error/slack-desc b/dev/libs/libgpg-error/slack-desc deleted file mode 100644 index 4628b081..00000000 --- a/dev/libs/libgpg-error/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler-------------------------------------------------------| -libgpg-error: libgpg-error -libgpg-error: -libgpg-error: This is a library that defines common error values for all GnuPG -libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, -libgpg-error: pinentry, SmartCard Daemon and possibly more in the future. -libgpg-error: -libgpg-error: -libgpg-error: -libgpg-error: -libgpg-error: -libgpg-error:
\ No newline at end of file diff --git a/dev/libs/libgpg-error/slack-required b/dev/libs/libgpg-error/slack-required index dc80d9bb..cf6f4e85 100644 --- a/dev/libs/libgpg-error/slack-required +++ b/dev/libs/libgpg-error/slack-required @@ -1 +1,2 @@ -glibc-solibs >= 2.3.5-i486-5 +glibc >= 2.1 +bison >= 1.26 diff --git a/dev/libs/libksba/libksba.SlackBuild b/dev/libs/libksba/libksba.SlackBuild new file mode 100755 index 00000000..864bc628 --- /dev/null +++ b/dev/libs/libksba/libksba.SlackBuild @@ -0,0 +1,148 @@ +#!/bin/bash +# +# SlackBuild for libksba: +# http://www.gnupg.org/(en)/related_software/libksba/ +# +# Author: Luis ( luis at riseup d0t net ) +# Required binaries: gpg, gzip, wget +# + +CWD=`pwd` + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +PACKAGE="libksba" +ARCH=${ARCH:=i486} +VERSION=${VERSION:=1.0.1} +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD} +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PACKAGE} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} + +# Set system libraries' path and optmization flags based on $ARCH +LIBDIR=$PREFIX/lib + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mtune=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" + LIBDIR="$PREFIX/lib64" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +# Clean up any leftovers of previous builds +rm -rf $PACKAGE-$VERSION +rm -rf $PKG +mkdir -p $SRC_DIR +mkdir -p $PKG +mkdir -p $REPOS + +# Import (minimized) signing key from +# http://www.gnupg.org/(en)/signature_key.html +gpg --import << EOGPG +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI4EQ7f6xwEEANCZGXorXMkDKpNsRnf+ZhqHOPmDcEKPDkplcCL2PFACN7QaK4Re +oWvZ4mqmVOL3ZXU51zFNI9aD3JAIToET2jr2hGYWFExdBf9eaYgBeXZGUOnbJl1V +JDzWDGU6ZHNpwPiAAgYjpsoBgZCxbl7x0VtYukjc9vIkR/1GXGC4v9ohACCBVlCZ +tCZXZXJuZXIgS29jaCAoZGlzdCBzaWcpIDxkZDlqbkBnbnUub3JnPoi8BBMBAgAm +BQJDt/rIAhsDBQkFo5qABgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQU7Yg0Bzg +xjB5owQAh0MO0kuQ7hM6AKj8YK4bRGapHBmeIniaer9Y6vwXgErfDUci7BUQTxXo +FFTgKHHzBz39bzeStyQgTm5plGaOEJcJayIr07DaeBtcC/dMoVUJswybKMFtP7fU +z05PRKjChvxrWzhe/Yn6BAmPF+6YxQo2W98rzq0THS5wKJjXmHw= +=3fgc +-----END PGP PUBLIC KEY BLOCK----- +EOGPG + +# Dowload source and its signature, if necessary +SRC="$PACKAGE-$VERSION.tar.bz2" +URL="ftp://ftp.gnupg.org/gcrypt/libksba/$SRC" + +if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi +if [ ! -f "$SRC_DIR/$SRC.sig" ]; then + wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET +fi + +# Check source's signature +gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG + +# Untar, configure, compile and install +tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $PACKAGE-$VERSION +CFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF +make || exit $ERROR_MAKE +make install DESTDIR=$PKG || exit $ERROR_INSTALL + +# 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 +) + +# Compress info pages +mv -f $PKG/$PREFIX/share/info $PKG/$PREFIX/ +rm -rf $PKG/$PREFIX/info/dir +gzip -9 $PKG/$PREFIX/info/* + +# Install documentation +DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO VERSION" +mkdir -p $PKG/$PREFIX/doc/$PACKAGE-$VERSION +cp -a $DOCS $PKG/$PREFIX/doc/$PACKAGE-$VERSION + +# Add slack-desc file +mkdir -p $PKG/install +cat << EOF > $PKG/install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler-------------------------------------------------------| +libksba: libksba +libksba: +libksba: Libksba is a library to make the tasks of working with X.509 +libksba: certificates, CMS data and related objects more easy. It provides a +libksba: highlevel interface to the implemented protocols and presents the data +libksba: in a consistent way. +libksba: +libksba: For more information, +libksba: http://www.gnupg.org/(en)/related_software/libksba/ +libksba: +libksba: +EOF + +# Build the package +cd $PKG +makepkg -l y -c n $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG + +# Delete build directory, if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf $PKG +fi diff --git a/dev/libs/libksba/slack-required b/dev/libs/libksba/slack-required new file mode 100644 index 00000000..4d292ccf --- /dev/null +++ b/dev/libs/libksba/slack-required @@ -0,0 +1 @@ +libgpg-error >= 1.2 diff --git a/dev/libs/libpth/libpth.SlackBuild b/dev/libs/libpth/libpth.SlackBuild new file mode 100755 index 00000000..a95d2e94 --- /dev/null +++ b/dev/libs/libpth/libpth.SlackBuild @@ -0,0 +1,166 @@ +#!/bin/bash +# +# SlackBuild for pth (GNU Portable Threads): +# http://www.gnu.org/software/pth/ +# +# Author: Luis ( luis at riseup d0t net ) +# Required binaries: gpg, gzip, wget +# + +CWD=`pwd` + +# Look for slackbuildrc +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# Set variables +SRC_NAME="pth" +PKG_NAME="libpth" +ARCH=${ARCH:=i486} +VERSION=${VERSION:=2.0.7} +BUILD=${BUILD:=1ls} +SRC_DIR=${SRC_DIR:=$CWD} +TMP=${TMP:=/tmp} +PKG=${PKG:=$TMP/package-$PKG_NAME} +REPOS=${REPOS:=$TMP} +PREFIX=${PREFIX:=/usr} + +# Set system libraries' path and optmization flags based on $ARCH +LIBDIR=$PREFIX/lib + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mtune=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" + LIBDIR="$PREFIX/lib64" +fi + +# Set error codes (used by createpkg) +ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33 +ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36 +ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39 +ERROR_PATCH=40 + +# Clean up any leftovers of previous builds +rm -rf $SRC_NAME-$VERSION +rm -rf $PKG +mkdir -p $SRC_DIR +mkdir -p $PKG +mkdir -p $REPOS + +# Import (minimized) signing key from +# http://www.gnupg.org/(en)/signature_key.html +gpg --import << EOGPG +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGiBDxKtR0RBACh9cmwVQjGuRAH9zEIV6s5ZhNRjG0Mk9sGjwkP1bXRHhRq64Dp +iCnqSZvlBVLBSOB48YHEj5tQayjxIoLR1R79o2uA99/SuSAtmByKk1rrrLGyb8Hp +KKGWLPITnY8on0Lwj36lGXWkbjdSPneEX61FkOtZ47tyLePXSZy9twU8dwCgj0R3 +Z2f3x7d0u1IXonA4v/m3EIED/2lTlAOVtlewlMAsNWlH5HL7HInbtWSNJTebszix +qivgZ3yuI+/aGNECYmK/SDia0s9BUto2ih0t+Hdo6Tw5nEivEFfYTl4gOjg+yYu1 +7RgjRAAwiDirni7BfleChztiovaVOVWIW/vs3HMY+nbgkqcjMyWqhC/7c2RL+5jQ +enHHA/0cK4SWrC4pL2syPxwQFDmWSYz80dh5kPTUkXG09BEZ3fvnlNs1m6c2ALdf +B8LiKlxUqZn+/hrNcbkByq/CJG+oiY0omJUyFzIbmu5t9aKhl8UpQ0+91j7aVTya +5XfyQnNdtSi1hvcxvMyjI2wfUNrKzNFK3WQ/9P2lADnp8G8j7bQpUmFsZiBTLiBF +bmdlbHNjaGFsbCA8cnNlQGVuZ2Vsc2NoYWxsLmNvbT6IXwQTEQIAFwUCPEq1HQUL +BwoDBAMVAwIDFgIBAheAABIJEG50SsupwJ4wB2VHUEcAAQHzlQCfYaJnY4MWESnO +g4vBoDFt9uAIM9gAn3szlXmMoNFCSKyvJRYDcfH/E8fHuQINBDxKtT4QCAC0My97 +Ek/z0LRlMPoBMNbZZyq7waa8+SB3ponfh6o1O5Ce6FRyP3IqxzAvo2eMV0IvwyAy +9EcyxuKAsL53NadbRUEy2q9bJECn/AlbIHiJvriSQstzWCEyBVRsH2wHi3YGns7c +saNs4e7pDKaf5vedqeca8OpJ4bj8U1kiebGzz7qqalmpSF6czUbFZppL5C7n6PVR +PtJGoB2u3fS6aOJgpndhsiHupNHWYB8/tUGeAysDYESx9rhasPVhehC8mpHiwHAb +kxHalAnbJI8YZ0MFAqOr8fPPVDzO8ArsbkjuKHGgQvkV38Gsn+SnPDExobvBCCI4 +8hBkcbVtCrzV8gLfAAMHCACKajjfnpQ1HX70bHF/a9i99/OtldwoarMu3enEp5iu +5kMIH6Nh67WUcl79xX08/AWJUcJgI8n4oE4HAhXi4sTWl+4MnNoYls9qnpVLNmHh +c4dhRDAHdHVRsVT1vXNpUckfLxj4j37w9BRNuQCMLYSYdeKy1ENNZrOgh2WOLDTn +tH8mlIb3fIXQ0EY78uC16MtPL/Q5Z9FL9DvJiIe+6XoLXJhuKTk6svztWN+T4Ix0 +8e8GT6YZysKE85OUeJqMqQXUdzReIG5qRqrNT984AXJdMwsjEbrsjLgETDyyqmqF +uDg9DiusvaMuhgNxLpTnmUTo3xOKwkdY93UfDYhbEwNpiE4EGBECAAYFAjxKtT4A +EgkQbnRKy6nAnjAHZUdQRwABASWPAJoCqfTDhzFQOngPku+kWHdajWj1pgCeIIKl +ZKGPGjkCEUGma0qd+GUAh4A= +=rGe0 +-----END PGP PUBLIC KEY BLOCK----- +EOGPG + +# Dowload source and its signature, if necessary +SRC="$SRC_NAME-$VERSION.tar.gz" +URL="ftp://ftp.gnu.org/gnu/pth/$SRC" + +if [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET +fi +if [ ! -f "$SRC_DIR/$SRC.sig" ]; then + wget "$URL.sig" -O "$SRC_DIR/$SRC.sig" || exit $ERROR_WGET +fi + +# Check source's signature +gpg --verify $SRC_DIR/$SRC.sig $SRC_DIR/$SRC || exit $ERROR_GPG + +# Untar, configure, compile and install +tar --no-same-owner --no-same-permissions -xvf $SRC_DIR/$SRC || exit $ERROR_TAR +cd $SRC_NAME-$VERSION +CFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=$PREFIX --libdir=$LIBDIR || exit $ERROR_CONF +make || exit $ERROR_MAKE +make test +make install DESTDIR=$PKG || exit $ERROR_INSTALL + +# 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 +) + +# Compress man pages +gzip -9 $PKG/$PREFIX/man/*/* + +# Install documentation +DOCS="ANNOUNCE AUTHORS COPYING ChangeLog HACKING HISTORY INSTALL NEWS PORTING \ + README SUPPORT TESTS THANKS USERS" +mkdir -p $PKG/$PREFIX/doc/$PKG_NAME-$VERSION +cp -a $DOCS $PKG/$PREFIX/doc/$PKG_NAME-$VERSION + +# Add slack-desc file +mkdir -p $PKG/install +cat << EOF > $PKG/install/slack-desc +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------------| +libpth: libpth (The GNU Portable Threads) +libpth: +libpth: Pth is a very portable POSIX/ANSI-C based library for Unix platforms +libpth: which provides non-preemptive priority-based scheduling for multiple +libpth: threads of execution ("multithreading") inside server applications. +libpth: All threads run in the same address space of the server application, +libpth: but each thread has its own individual program-counter, run-time +libpth: stack, signal mask and errno variable. +libpth: +libpth: For more information, http://www.gnu.org/software/pth/ +libpth: +EOF + +# Build the package +cd $PKG +makepkg -l y -c n $REPOS/$PKG_NAME-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG + +# Delete build directory, if requested +if [ "$CLEANUP" == "yes" ]; then + rm -rf $PKG +fi |