diff options
Diffstat (limited to 'net/misc/tinc/tinc.SlackBuild')
-rw-r--r-- | net/misc/tinc/tinc.SlackBuild | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/net/misc/tinc/tinc.SlackBuild b/net/misc/tinc/tinc.SlackBuild index ee80b11e..a3a7370f 100644 --- a/net/misc/tinc/tinc.SlackBuild +++ b/net/misc/tinc/tinc.SlackBuild @@ -34,7 +34,7 @@ PKG_NAME="tinc" ARCH=${ARCH:=i486} SRC_VERSION=${VERSION:=1.0.9} PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')" -BUILD=${BUILD:=2rha} +BUILD=${BUILD:=3rha} SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME TMP=${TMP:=/tmp} PKG=${PKG:=$TMP/package-$PKG_NAME} @@ -238,6 +238,10 @@ if [ -d "$PKG/$PREFIX/man" ]; then ) fi +# Copy init scripts +mkdir -p $PKG/etc/rc.d +cp $CWD/rc.* $PKG/etc/rc.d/ + # Install documentation DOCS="ABOUT-NLS AUTHORS COPYING COPYING.README ChangeLog NEWS README THANKS" mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR @@ -271,6 +275,49 @@ tinc: tinc: EODESC +# Add a post-installation script (doinst.sh) +mkdir -p "$PKG/install" || exit $ERROR_MKDIR +cat << EOSCRIPT > "$PKG/install/doinst.sh" +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)" + OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)" + + # If there's no config file by that name, mv it over: + if [ ! -r \$OLD ]; then + mv \$NEW \$OLD + elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then + # toss the redundant copy + rm \$NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +mkgroup() { + GROUP="\$1" + if ! grep -qe "^\$GROUP:" etc/group; then + echo Creating group \$GROUP... + chroot . /usr/sbin/groupadd \$GROUP + fi +} + +mkuser() { + USER="\$1" + if [ ! -z "\$2" ]; then + GROUP="\$2" + else + GROUP="\$USER" + fi + if ! grep -qe "^\$USER:" etc/passwd; then + echo Creating user \$USER... + chroot . /usr/sbin/useradd \$USER -g \$GROUP + fi +} + +config etc/rc.d/rc.tinc.new +EOSCRIPT + # Build the package cd "$PKG" mkdir -p $REPOS/$SLACKBUILD_PATH |