diff options
-rwxr-xr-x | app/shells/rssh/rssh.SlackBuild | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/app/shells/rssh/rssh.SlackBuild b/app/shells/rssh/rssh.SlackBuild index 2b48672c..356ac115 100755 --- a/app/shells/rssh/rssh.SlackBuild +++ b/app/shells/rssh/rssh.SlackBuild @@ -188,6 +188,50 @@ rssh: rssh: EODESC +# Move config files to .new to avoid overwriting any system config +for config_file in etc/rssh.conf; do + mv $PKG/$config_file $PKG/$config_file.new +done + +# Add a post-installation script (doinst.sh) +cat << EOSCRIPT > "$PKG/install/doinst.sh" +config() { + NEW="\$1" + OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" + # 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/rssh.conf.new +EOSCRIPT + # Build the package cd "$PKG" makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG |