diff options
Diffstat (limited to 'slackpkg.SlackBuild')
-rwxr-xr-x | slackpkg.SlackBuild | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/slackpkg.SlackBuild b/slackpkg.SlackBuild new file mode 100755 index 0000000..706d3f5 --- /dev/null +++ b/slackpkg.SlackBuild @@ -0,0 +1,119 @@ +#!/bin/sh + +# Copyright 2016 Patrick J. Volkerding, Sebeka, Minnesota, 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. + + +PKGNAM=slackpkg +VERSION=2.82.2 +BUILD=${BUILD:-1} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +# I never use this because it tends to bail on useless errors, but since +# we're actually the upstream here it should never do that. :-) +set -e + +cd $CWD/files + +# Install main script: +mkdir -pv $PKG/usr/sbin +cp -av slackpkg.gz $PKG/usr/sbin +gzip -d $PKG/usr/sbin/slackpkg.gz +chmod 755 $PKG/usr/sbin/slackpkg +chown root:root $PKG/usr/sbin/slackpkg + +# Prepare /etc directory: +mkdir -pv $PKG/etc/slackpkg +cp -av blacklist.new.gz slackpkg.conf.new.gz $PKG/etc/slackpkg +gzip -d $PKG/etc/slackpkg/* +chmod 644 $PKG/etc/slackpkg/* +chown root:root $PKG/etc/slackpkg/* +mkdir -pv $PKG/etc/slackpkg/templates + +# Install support scripts in /usr/libexec/slackpkg: +mkdir -pv $PKG/usr/libexec/slackpkg +cp -av core-functions.sh.gz cutpkg.awk.gz filelist.awk.gz install-new.awk.gz pkglist.awk.gz \ + $PKG/usr/libexec/slackpkg +gzip -d $PKG/usr/libexec/slackpkg/* +chmod 755 $PKG/usr/libexec/slackpkg/* +chown root:root $PKG/usr/libexec/slackpkg/* +mkdir -pv $PKG/usr/libexec/slackpkg/functions.d +cp -av dialog-functions.sh.gz post-functions.sh.gz \ + $PKG/usr/libexec/slackpkg/functions.d +gzip -d $PKG/usr/libexec/slackpkg/functions.d/* +chmod 755 $PKG/usr/libexec/slackpkg/functions.d/* +chown root:root $PKG/usr/libexec/slackpkg/functions.d/* + +# Install man pages: +mkdir -pv $PKG/usr/man/man5 +cp -av slackpkg.conf.5.gz $PKG/usr/man/man5 +chmod 644 $PKG/usr/man/man5/slackpkg.conf.5.gz +chown root:root $PKG/usr/man/man5/slackpkg.conf.5.gz +mkdir -pv $PKG/usr/man/man8 +cp -av slackpkg.8.gz $PKG/usr/man/man8 +chmod 644 $PKG/usr/man/man8/slackpkg.8.gz +chown root:root $PKG/usr/man/man8/slackpkg.8.gz + +# Install internationalized man pages from +# http://slint.fr/forSlackware/man_l10n/slackpkg/ +( cd $PKG/usr/man + tar xf $CWD/manpages-l10n.tar.xz + for page in manpages-l10n/*slackpkg.conf ; do + manpage=$(basename $page) + mkdir -p ${manpage%%.*}/man5 + mv $page ${manpage%%.*}/man5/${page#*.}.5 + done + for page in manpages-l10n/* ; do + manpage=$(basename $page) + mkdir -p ${manpage%%.*}/man8 + mv $page ${manpage%%.*}/man8/${page#*.}.8 + done + gzip -9 */man?/*.? + rmdir manpages-l10n +) + +# Update version number: +sed -i "s/@VERSION@/$VERSION/g" $PKG/usr/sbin/slackpkg + +# Prepare documentation directory: +mkdir -pv $PKG/usr/doc/slackpkg-$VERSION +cp -av ChangeLog.gz GPL.gz README.gz mirrors* \ + $PKG/usr/doc/slackpkg-$VERSION +chown root:root $PKG/usr/doc/slackpkg-$VERSION/* +chmod 644 $PKG/usr/doc/slackpkg-$VERSION/* +gzip -d $PKG/usr/doc/slackpkg-$VERSION/* + +# Create additional directories needed by slackpkg: +mkdir -pv $PKG/var/lib/slackpkg +mkdir -pv $PKG/var/cache/packages + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz | sed -e "s/@VERSION@/$VERSION/g" > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-noarch-$BUILD.txz + |