From ecd1f22d5173e378963b9c56a3579a78dc9d57de Mon Sep 17 00:00:00 2001 From: willysr Date: Tue, 2 Apr 2013 10:53:26 +0700 Subject: [PATCH] Split PAM into two different packages pam is the basic libpam library pam_unix2 is the authentication module for UNIX/Linux system Signed-off-by: willysr --- testing/pam/pam.SlackBuild | 64 +---------- testing/{pam => pam_unix2}/pam_unix.patch | 0 testing/pam_unix2/pam_unix2.SlackBuild | 129 ++++++++++++++++++++++ testing/pam_unix2/slack-desc | 19 ++++ 4 files changed, 149 insertions(+), 63 deletions(-) rename testing/{pam => pam_unix2}/pam_unix.patch (100%) create mode 100644 testing/pam_unix2/pam_unix2.SlackBuild create mode 100644 testing/pam_unix2/slack-desc diff --git a/testing/pam/pam.SlackBuild b/testing/pam/pam.SlackBuild index af3baf1..a919712 100644 --- a/testing/pam/pam.SlackBuild +++ b/testing/pam/pam.SlackBuild @@ -26,9 +26,7 @@ SRCNAM=Linux-PAM PRGNAM=pam -PRGNAM2=pam_unix2 VERSION=${VERSION:-1.1.6} -VERSION2=${VERSION2:-2.9.1} BUILD=${BUILD:-1} TAG=${TAG:-_msb} @@ -44,10 +42,6 @@ if [ ! -f $SRCNAM-$VERSION.tar.bz2 ]; then wget http://www.linux-pam.org/library/Linux-PAM-1.1.6.tar.bz2 fi -if [ ! -f $PRGNAM2-$VERSION2.tar.bz2 ]; then - wget ftp://ftp.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2 -fi - NUMJOBS=${NUMJOBS:-" -j8 "} if [ "$ARCH" = "i486" ]; then @@ -72,9 +66,8 @@ OUTPUT=${OUTPUT:-/tmp} rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $SRCNAM-$VERSION $PRGNAM2-$VERSION2 +rm -rf $SRCNAM-$VERSION tar xvf $CWD/$SRCNAM-$VERSION.tar.?z* || exit 1 -tar xvf $CWD/$PRGNAM2-$VERSION2.tar.?z* || exit 1 cd $SRCNAM-$VERSION || exit 1 chown -R root:root . @@ -144,64 +137,9 @@ ln -s pam_unix.so pam_unix_auth.so ln -s pam_unix.so pam_unix_passwd.so ln -s pam_unix.so pam_unix_session.so - -cd $TMP/$PRGNAM2-$VERSION2 || exit 1 - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -patch -p1 < $CWD/pam_unix.patch - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/ \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --includedir=/usr/include/security \ - --datarootdir=/usr/share \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --disable-selinux \ - --build=$ARCH-slackware-linux || exit 1 - -make $NUMJOBS || make || 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 -) - -# Compress and if needed symlink the man pages: -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 - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM2-$VERSION2 -cp -a \ - ABOUT-NLS COPYING ChangeLog INSTALL NEWS README TODO \ - $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM2-$VERSION2 - cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} diff --git a/testing/pam/pam_unix.patch b/testing/pam_unix2/pam_unix.patch similarity index 100% rename from testing/pam/pam_unix.patch rename to testing/pam_unix2/pam_unix.patch diff --git a/testing/pam_unix2/pam_unix2.SlackBuild b/testing/pam_unix2/pam_unix2.SlackBuild new file mode 100644 index 0000000..f309180 --- /dev/null +++ b/testing/pam_unix2/pam_unix2.SlackBuild @@ -0,0 +1,129 @@ +#!/bin/sh + +# Copyright 2010 Vincent Batts, vbatts@hashbangbash.com +# Copyright 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Heavily modified by Willy Sudiarto Raharjo for MSB project +# Copyright 2013 Willy Sudiarto Raharjo +# +# 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. + +PRGNAM=pam_unix2 +VERSION=${VERSION2:-2.9.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_msb} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -f $PRGNAM-$VERSION.tar.bz2 ]; then + wget ftp://ftp.archlinux.org/other/pam_unix2/pam_unix2-2.9.1.tar.bz2 +fi + +NUMJOBS=${NUMJOBS:-" -j8 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/msb} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.?z* || exit 1 +cd $PRGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +patch -p1 < $CWD/pam_unix.patch + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/ \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --includedir=/usr/include/security \ + --datarootdir=/usr/share \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-selinux \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || 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 +) + +# Compress and if needed symlink the man pages: +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 + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM-$VERSION +cp -a \ + ABOUT-NLS COPYING ChangeLog INSTALL NEWS README TODO \ + $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} + diff --git a/testing/pam_unix2/slack-desc b/testing/pam_unix2/slack-desc new file mode 100644 index 0000000..e867253 --- /dev/null +++ b/testing/pam_unix2/slack-desc @@ -0,0 +1,19 @@ +# 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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +pam_unix2: pam_unix2 (Module for traditional password authentication ) +pam_unix2: +pam_unix2: pam_unix2 is the standard Unix authentication module. +pam_unix2: The authentication component performs the task of checking the +pam_unix2: users credentials (password). +pam_unix2: +pam_unix2: Credentials information is obtained from the /etc/passwd and the +pam_unix2: /etc/shadow file as well if shadow is enabled. +pam_unix2: +pam_unix2: +pam_unix2: