summaryrefslogtreecommitdiffstats
path: root/slackpkg.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'slackpkg.SlackBuild')
-rwxr-xr-xslackpkg.SlackBuild119
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
+