summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Jones <cretin@gentoo.org>2002-11-12 08:18:30 +0000
committerStefan Jones <cretin@gentoo.org>2002-11-12 08:18:30 +0000
commit887a6be1fdb819cdd888cbfc6288643377cd0e95 (patch)
tree4f7c3d007f9adad3676c2ca5796cd111283bdd22 /app-admin/usermin
parentsyntax cleanup (diff)
downloadhistorical-887a6be1fdb819cdd888cbfc6288643377cd0e95.tar.gz
historical-887a6be1fdb819cdd888cbfc6288643377cd0e95.tar.bz2
historical-887a6be1fdb819cdd888cbfc6288643377cd0e95.zip
Configuration stuff
Diffstat (limited to 'app-admin/usermin')
-rw-r--r--app-admin/usermin/ChangeLog9
-rw-r--r--app-admin/usermin/files/setup.sh579
-rw-r--r--app-admin/usermin/files/usermin-init78
-rw-r--r--app-admin/usermin/usermin-0.970.ebuild20
4 files changed, 681 insertions, 5 deletions
diff --git a/app-admin/usermin/ChangeLog b/app-admin/usermin/ChangeLog
index e89406d54fe8..a150ba847764 100644
--- a/app-admin/usermin/ChangeLog
+++ b/app-admin/usermin/ChangeLog
@@ -1,9 +1,14 @@
# ChangeLog for app-admin/usermin
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/app-admin/usermin/ChangeLog,v 1.1 2002/11/08 22:43:41 cretin Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/usermin/ChangeLog,v 1.2 2002/11/12 08:18:30 cretin Exp $
*usermin-0.940 (8 Nov 2002)
- 1 Feb 2002; S.A.Jones <cretin@gentoo.org> ChangeLog :
+ 12 Nov 2002: S.A.Jones <cretin@gentoo.org> :
+
+ Added configuration stuff to ebuild and extra files usermin-init and setup.sh.
+ Mods by James <zeurx@hotmail.com>.
+
+ 10 Nov 2002; S.A.Jones <cretin@gentoo.org> ChangeLog :
Added ebuild by James <zeurx@hotmail.com>
diff --git a/app-admin/usermin/files/setup.sh b/app-admin/usermin/files/setup.sh
new file mode 100644
index 000000000000..9a9fed2fa7ba
--- /dev/null
+++ b/app-admin/usermin/files/setup.sh
@@ -0,0 +1,579 @@
+#!/bin/sh
+# setup.sh
+# This script should be run after the usermin archive is unpacked, in order
+# to setup the various config files
+
+# Find install directory
+LANG=
+export LANG
+cd `dirname $0`
+if [ -x /bin/pwd ]; then
+ wadir=`/bin/pwd`
+else
+ wadir=`pwd`;
+fi
+ver=`cat "$wadir/version"`
+
+echo "***********************************************************************"
+echo "* Welcome to the Usermin setup script, version $ver *"
+echo "***********************************************************************"
+echo "Usermin is a web-based interface that allows Unix-like operating"
+echo "systems and common Unix services to be easily administered."
+echo ""
+
+# Only root can run this
+id | grep "uid=0(" >/dev/null
+if [ $? != "0" ]; then
+ uname -a | grep -i CYGWIN >/dev/null
+ if [ $? != "0" ]; then
+ echo "ERROR: The Usermin install script must be run as root";
+ echo "";
+ exit 1;
+ fi
+fi
+
+# Display install directory
+echo "Installing Usermin in $wadir ..."
+allmods=`cd "$wadir"; echo */module.info | sed -e 's/\/module.info//g'`
+if [ "$allmods" = "" ]; then
+ echo "ERROR: Failed to get module list"
+ echo ""
+ exit 1
+fi
+echo ""
+
+# Ask for usermin config directory
+echo "***********************************************************************"
+echo "Usermin uses separate directories for configuration files and log files."
+echo "Unless you want to run multiple versions of Usermin at the same time"
+echo "you can just accept the defaults."
+echo ""
+printf "Config file directory [/etc/usermin]: "
+if [ "$config_dir" = "" ]; then
+ read config_dir
+fi
+if [ "$config_dir" = "" ]; then
+ config_dir=/etc/usermin
+fi
+abspath=`echo $config_dir | grep "^/"`
+if [ "$abspath" = "" ]; then
+ echo "Config directory must be an absolute path"
+ echo ""
+ exit 2
+fi
+if [ ! -d $config_dir ]; then
+ mkdir $config_dir;
+ if [ $? != 0 ]; then
+ echo "ERROR: Failed to create directory $config_dir"
+ echo ""
+ exit 2
+ fi
+fi
+if [ -r "$config_dir/config" ]; then
+ echo "Found existing Usermin configuration in $config_dir"
+ echo ""
+ upgrading=1
+fi
+
+# Check if upgrading from an old version
+if [ "$upgrading" = 1 ]; then
+ # Get current var path
+ var_dir=`cat $config_dir/var-path`
+
+ # Get current perl path
+ perl=`cat $config_dir/perl-path`
+
+ # Create temp files directory
+ $perl "$wadir/maketemp.pl"
+ if [ "$?" != "0" ]; then
+ echo "ERROR: Failed to create or check temp files directory /tmp/.webmin"
+ echo ""
+ exit 2
+ fi
+
+ # Get old os name and version
+ os_type=`grep "^os_type=" $config_dir/config | sed -e 's/os_type=//g'`
+ os_version=`grep "^os_version=" $config_dir/config | sed -e 's/os_version=//g'`
+ real_os_type=`grep "^real_os_type=" $config_dir/config | sed -e 's/real_os_type=//g'`
+ real_os_version=`grep "^real_os_version=" $config_dir/config | sed -e 's/real_os_version=//g'`
+
+ # Get old root, host, port, ssl and boot flag
+ oldwadir=`grep "^root=" $config_dir/miniserv.conf | sed -e 's/root=//g'`
+ port=`grep "^port=" $config_dir/miniserv.conf | sed -e 's/port=//g'`
+ ssl=`grep "^ssl=" $config_dir/miniserv.conf | sed -e 's/ssl=//g'`
+ atboot=`grep "^atboot=" $config_dir/miniserv.conf | sed -e 's/atboot=//g'`
+ inetd=`grep "^inetd=" $config_dir/miniserv.conf | sed -e 's/inetd=//g'`
+
+ if [ "$inetd" != "1" ]; then
+ # Stop old version
+ $config_dir/stop >/dev/null 2>&1
+ fi
+
+ # Update ACLs
+ $perl "$wadir/newmods.pl" $config_dir $allmods
+
+ # Update miniserv.conf with new root directory and mime types file
+ grep -v "^root=" $config_dir/miniserv.conf | grep -v "^mimetypes=" >/tmp/.webmin/$$.miniserv.conf
+ mv /tmp/.webmin/$$.miniserv.conf $config_dir/miniserv.conf
+ echo "root=$wadir" >> $config_dir/miniserv.conf
+ echo "mimetypes=$wadir/mime.types" >> $config_dir/miniserv.conf
+ grep logout= $config_dir/miniserv.conf >/dev/null
+ if [ $? != "0" ]; then
+ echo "logout=$config_dir/logout-flag" >> $config_dir/miniserv.conf
+ fi
+
+ # Check for third-party modules in old version
+ if [ "$wadir" != "$oldwadir" ]; then
+ echo "Checking for third-party modules .."
+ if [ "$webmin_upgrade" != "" ]; then
+ autothird=1
+ fi
+ $perl "$wadir/thirdparty.pl" "$wadir" "$oldwadir" $autothird
+ echo "..done"
+ echo ""
+ fi
+
+ # Remove old cache of module infos
+ rm -f $config_dir/module.infos.cache
+else
+ # Config directory exists .. make sure it is not in use
+ ls $config_dir | grep -v rpmsave >/dev/null 2>&1
+ if [ "$?" = "0" -a "$config_dir" != "/etc/usermin" ]; then
+ echo "ERROR: Config directory $config_dir is not empty"
+ echo ""
+ exit 2
+ fi
+
+ # Ask for log directory
+ printf "Log file directory [/var/usermin]: "
+ if [ "$var_dir" = "" ]; then
+ read var_dir
+ fi
+ if [ "$var_dir" = "" ]; then
+ var_dir=/var/usermin
+ fi
+ abspath=`echo $var_dir | grep "^/"`
+ if [ "$abspath" = "" ]; then
+ echo "Log file directory must be an absolute path"
+ echo ""
+ exit 3
+ fi
+ if [ "$var_dir" = "/" ]; then
+ echo "Log directory cannot be /"
+ exit ""
+ exit 3
+ fi
+ if [ ! -d $var_dir ]; then
+ mkdir $var_dir
+ if [ $? != 0 ]; then
+ echo "ERROR: Failed to create directory $var_dir"
+ echo ""
+ exit 3
+ fi
+ fi
+ echo ""
+
+ # Ask where perl is installed
+ echo "***********************************************************************"
+ echo "Usermin is written entirely in Perl. Please enter the full path to the"
+ echo "Perl 5 interpreter on your system."
+ echo ""
+ if [ -x /usr/bin/perl ]; then
+ perldef=/usr/bin/perl
+ elif [ -x /usr/local/bin/perl ]; then
+ perldef=/usr/local/bin/perl
+ else
+ perldef=""
+ fi
+ if [ "$perl" = "" ]; then
+ if [ "$perldef" = "" ]; then
+ printf "Full path to perl: "
+ read perl
+ if [ "$perl" = "" ]; then
+ echo "ERROR: No path entered!"
+ echo ""
+ exit 4
+ fi
+ else
+ printf "Full path to perl (default $perldef): "
+ read perl
+ if [ "$perl" = "" ]; then
+ perl=$perldef
+ fi
+ fi
+ fi
+ echo ""
+
+ # Test perl
+ echo "Testing Perl ..."
+ if [ ! -x $perl ]; then
+ echo "ERROR: Failed to find perl at $perl"
+ echo ""
+ exit 5
+ fi
+ $perl -e 'print "foobar\n"' 2>/dev/null | grep foobar >/dev/null
+ if [ $? != "0" ]; then
+ echo "ERROR: Failed to run test perl script. Maybe $perl is"
+ echo "not the perl interpreter, or is not installed properly"
+ echo ""
+ exit 6
+ fi
+ $perl -e 'exit ($] < 5.002 ? 1 : 0)'
+ if [ $? = "1" ]; then
+ echo "ERROR: Detected old perl version. Usermin requires"
+ echo "perl 5.002 or better to run"
+ echo ""
+ exit 7
+ fi
+ $perl -e 'use Socket; print "foobar\n"' 2>/dev/null | grep foobar >/dev/null
+ if [ $? != "0" ]; then
+ echo "ERROR: Perl Socket module not installed. Maybe Perl has"
+ echo "not been properly installed on your system"
+ echo ""
+ exit 8
+ fi
+ $perl -e '$c = crypt("xx", "yy"); exit($c ? 0 : 1)'
+ if [ $? != "0" ]; then
+ echo "ERROR: Perl crypt function does not work. Maybe Perl has"
+ echo "not been properly installed on your system"
+ echo ""
+ exit 8
+ fi
+ echo "Perl seems to be installed ok"
+ echo ""
+
+ # Create temp files directory
+ $perl "$wadir/maketemp.pl"
+ if [ "$?" != "0" ]; then
+ echo "ERROR: Failed to create or check temp files directory /tmp/.webmin"
+ echo ""
+ exit 2
+ fi
+
+ # Ask for operating system type
+ echo "***********************************************************************"
+ if [ "$os_type" = "" ]; then
+ if [ "$autoos" = "" ]; then
+ autoos=2
+ fi
+ $perl "$wadir/oschooser.pl" "$wadir/os_list.txt" /tmp/.webmin/$$.os $autoos
+ if [ $? != 0 ]; then
+ exit $?
+ fi
+ . /tmp/.webmin/$$.os
+ rm -f /tmp/.webmin/$$.os
+ fi
+ echo "Operating system name: $real_os_type"
+ echo "Operating system version: $real_os_version"
+ echo ""
+
+ # Ask for web server port, name and password
+ echo "***********************************************************************"
+ echo "Usermin uses its own password protected web server to provide access"
+ echo "to the administration programs. The setup script needs to know :"
+ echo " - What port to run the web server on. There must not be another"
+ echo " web server already using this port."
+ echo " - If the webserver should use SSL (if your system supports it)."
+ echo ""
+ printf "Web server port (default 20000): "
+ if [ "$port" = "" ]; then
+ read port
+ if [ "$port" = "" ]; then
+ port=20000
+ fi
+ fi
+ if [ $port -lt 1 ]; then
+ echo "ERROR: $port is not a valid port number"
+ echo ""
+ exit 11
+ fi
+ if [ $port -gt 65535 ]; then
+ echo "ERROR: $port is not a valid port number. Port numbers cannot be"
+ echo " greater than 65535"
+ echo ""
+ exit 12
+ fi
+ $perl -e 'use Socket; socket(FOO, PF_INET, SOCK_STREAM, getprotobyname("tcp")); setsockopt(FOO, SOL_SOCKET, SO_REUSEADDR, pack("l", 1)); bind(FOO, sockaddr_in($ARGV[0], INADDR_ANY)) || exit(1); exit(0);' $port
+ if [ $? != "0" ]; then
+ echo "ERROR: TCP port $port is already in use by another program"
+ echo ""
+ exit 13
+ fi
+ if [ "$ssl" = "" ]; then
+ ssl=0
+ $perl -e 'use Net::SSLeay' >/dev/null 2>/dev/null
+ if [ $? = "0" ]; then
+ printf "Use SSL (y/n): "
+ read sslyn
+ if [ "$sslyn" = "y" -o "$sslyn" = "Y" ]; then
+ ssl=1
+ fi
+ else
+ echo "The Perl SSLeay library is not installed. SSL not available."
+ rm -f core
+ fi
+ fi
+
+ # Create webserver config file
+ echo $perl > $config_dir/perl-path
+ echo $var_dir > $config_dir/var-path
+ echo "***********************************************************************"
+ echo "Creating web server config files.."
+ cfile=$config_dir/miniserv.conf
+ echo "port=$port" >> $cfile
+ echo "root=$wadir" >> $cfile
+ echo "mimetypes=$wadir/mime.types" >> $cfile
+ echo "addtype_cgi=internal/cgi" >> $cfile
+ echo "realm=Usermin Server" >> $cfile
+ echo "logfile=$var_dir/miniserv.log" >> $cfile
+ echo "errorlog=$var_dir/miniserv.error" >> $cfile
+ echo "pidfile=$var_dir/miniserv.pid" >> $cfile
+ echo "logtime=168" >> $cfile
+ echo "ppath=$ppath" >> $cfile
+ echo "ssl=$ssl" >> $cfile
+ echo "env_WEBMIN_CONFIG=$config_dir" >> $cfile
+ echo "env_WEBMIN_VAR=$var_dir" >> $cfile
+ echo "atboot=$atboot" >> $cfile
+ echo "logout=$config_dir/logout-flag" >> $cfile
+ echo "listen=20000" >> $cfile
+ echo "denyfile=\\.pl\$" >> $cfile
+ echo "log=1" >> $cfile
+ echo "blockhost_failures=5" >> $cfile
+ echo "blockhost_time=60" >> $cfile
+ if [ "$allow" != "" ]; then
+ echo "allow=$allow" >> $cfile
+ fi
+ if [ "$session" != "" ]; then
+ echo "session=$session" >> $cfile
+ else
+ echo "session=1" >> $cfile
+ fi
+ echo "unixauth=user" >> $cfile
+ echo "localauth=1" >> $cfile
+ echo "pam=usermin" >> $cfile
+ #echo "denyusers=root" >> $cfile
+
+ ufile=$config_dir/miniserv.users
+ echo "user:x:0::" > $ufile
+ chmod 644 $ufile
+ echo "userfile=$ufile" >> $cfile
+
+ kfile=$config_dir/miniserv.pem
+ openssl version >/dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ # We can generate a new SSL key for this host
+ host=`hostname`
+ openssl req -newkey rsa:512 -x509 -nodes -out /tmp/.webmin/cert -keyout /tmp/.webmin/key -days 1825 >/dev/null 2>&1 <<EOF
+.
+.
+.
+Usermin Webserver
+.
+*
+root@$host
+EOF
+ if [ "$?" = "0" ]; then
+ cat /tmp/.webmin/cert /tmp/.webmin/key >$kfile
+ fi
+ rm -f /tmp/.webmin/cert /tmp/.webmin/key
+ fi
+ if [ ! -r $kfile ]; then
+ # Fall back to the built-in key
+ cp "$wadir/miniserv.pem" $kfile
+ fi
+ chmod 600 $kfile
+ echo "keyfile=$config_dir/miniserv.pem" >> $cfile
+
+ chmod 644 $cfile
+ echo "..done"
+ echo ""
+
+ echo "Creating access control file.."
+ afile=$config_dir/webmin.acl
+ rm -f $afile
+ echo "user: $allmods" >> $afile
+ chmod 644 $afile
+ echo "..done"
+ echo ""
+
+fi
+
+if [ "$noperlpath" = "" ]; then
+ echo "Inserting path to perl into scripts.."
+ (find "$wadir" -name '*.cgi' -print ; find "$wadir" -name '*.pl' -print) | $perl "$wadir/perlpath.pl" $perl -
+ echo "..done"
+ echo ""
+fi
+
+echo "Creating start and stop scripts.."
+rm -f $config_dir/stop $config_dir/start
+echo "#!/bin/sh" >>$config_dir/start
+echo "echo Starting Usermin server in $wadir" >>$config_dir/start
+echo "trap '' 1" >>$config_dir/start
+echo "LANG=" >>$config_dir/start
+echo "export LANG" >>$config_dir/start
+uname -a | grep -i 'HP/*UX' >/dev/null
+if [ $? = "0" ]; then
+ echo "exec "$wadir/miniserv.pl" $config_dir/miniserv.conf &" >>$config_dir/start
+else
+ uname -a | grep -i FreeBSD >/dev/null
+ if [ "$?" = "0" ]; then
+ echo "LD_PRELOAD=/usr/lib/libpam.so.1" >>$config_dir/start
+ echo "export LD_PRELOAD" >>$config_dir/start
+ fi
+ echo "exec "$wadir/miniserv.pl" $config_dir/miniserv.conf" >>$config_dir/start
+fi
+
+echo "#!/bin/sh" >>$config_dir/stop
+echo "echo Stopping Usermin server in $wadir" >>$config_dir/stop
+echo "pidfile=\`grep \"^pidfile=\" $config_dir/miniserv.conf | sed -e 's/pidfile=//g'\`" >>$config_dir/stop
+echo "kill \`cat \$pidfile\`" >>$config_dir/stop
+chmod 755 $config_dir/start $config_dir/stop
+echo "..done"
+echo ""
+
+if [ "$upgrading" = 1 ]; then
+ echo "Updating config files.."
+else
+ echo "Copying config files.."
+fi
+$perl "$wadir/copyconfig.pl" "$os_type" "$os_version" "$wadir" $config_dir "" $allmods
+if [ "$upgrading" != 1 ]; then
+ # Store the OS and version
+ echo "os_type=$os_type" >> $config_dir/config
+ echo "os_version=$os_version" >> $config_dir/config
+ echo "real_os_type=$real_os_type" >> $config_dir/config
+ echo "real_os_version=$real_os_version" >> $config_dir/config
+ if [ -r /etc/system.cnf ]; then
+ # Found a caldera system config file .. get the language
+ source /etc/system.cnf
+ if [ "$CONF_LST_LANG" = "us" ]; then
+ CONF_LST_LANG=en
+ elif [ "$CONF_LST_LANG" = "uk" ]; then
+ CONF_LST_LANG=en
+ fi
+ grep "lang=$CONF_LST_LANG," "$wadir/lang_list.txt" >/dev/null 2>&1
+ if [ "$?" = 0 ]; then
+ echo "lang=$CONF_LST_LANG" >> $config_dir/config
+ fi
+ fi
+
+ # Set additional usermin-specific options
+ echo "userconfig=.usermin" >> $config_dir/config
+ echo "overlang=ulang" >> $config_dir/config
+ echo "nofeedbackcc=2" >> $config_dir/config
+ echo "nofeedbackconf=1" >> $config_dir/config
+fi
+echo $ver > $config_dir/version
+echo "..done"
+echo ""
+
+# Set passwd_ fields in miniserv.conf from global config
+grep passwd_file= $config_dir/miniserv.conf >/dev/null
+if [ "$?" != "0" ]; then
+ grep passwd_file= $config_dir/config >> $config_dir/miniserv.conf
+ grep passwd_uindex= $config_dir/config >> $config_dir/miniserv.conf
+ grep passwd_pindex= $config_dir/config >> $config_dir/miniserv.conf
+fi
+
+# Set usermin-specific SID cookie name
+grep sidname= $config_dir/miniserv.conf >/dev/null
+if [ "$?" != "0" ]; then
+ echo sidname=usid >> $config_dir/miniserv.conf
+fi
+
+if [ "$theme" = "" ]; then
+ theme=`cat "$wadir/defaulttheme" 2>/dev/null`
+fi
+oldthemeline=`grep "^theme=" $config_dir/config`
+oldtheme=`echo $oldthemeline | sed -e 's/theme=//g'`
+if [ "$theme" != "" ] && [ "$oldthemeline" = "" ] && [ -d "$wadir/$theme" ]; then
+ # Set a special theme if none was set before
+ echo "theme=$theme" >> $config_dir/config
+ echo "preroot=$theme" >> $config_dir/miniserv.conf
+fi
+
+if [ "$nouninstall" = "" ]; then
+ echo "Creating uninstall script $config_dir/uninstall.sh .."
+ cat >$config_dir/uninstall.sh <<EOF
+#!/bin/sh
+echo "Deleting $wadir .."
+rm -rf "$wadir"
+echo "Deleting $config_dir .."
+rm -rf $config_dir
+echo "Done!"
+
+EOF
+ chmod +x $config_dir/uninstall.sh
+ echo "..done"
+ echo ""
+fi
+
+echo "Changing ownership and permissions .."
+chown -R root:bin $config_dir
+chmod -R 755 $config_dir
+if [ "$nochown" = "" ]; then
+ chown -R root:bin "$wadir"
+ chmod -R og-w "$wadir"
+ if [ $var_dir != "/var" ]; then
+ chown -R root:bin $var_dir
+ chmod -R og-w $var_dir
+ fi
+fi
+echo "..done"
+echo ""
+
+printf "Do you want to add usermin to the your computers's boot [y/n]: "
+read answer
+echo "Adding Usermin to boot .."
+if [ "$answer" = "y" ]; then
+ rc-update add usermin default;
+fi
+echo "..done"
+echo ""
+
+if [ "$nostart" = "" ]; then
+ if [ "$inetd" != "1" ]; then
+ echo "Attempting to start Usermin mini web server.."
+ $config_dir/start
+ if [ $? != "0" ]; then
+ echo "ERROR: Failed to start web server!"
+ echo ""
+ exit 14
+ fi
+ echo "..done"
+ echo ""
+ fi
+
+ echo "***********************************************************************"
+ echo "Usermin has been installed and started successfully. Use your web"
+ echo "browser to go to"
+ echo ""
+ host=`hostname`
+ if [ "$ssl" = "1" ]; then
+ echo " https://$host:$port/"
+ else
+ echo " http://$host:$port/"
+ fi
+ echo ""
+ echo "and login as any Unix user on your system."
+ echo ""
+ if [ "$ssl" = "1" ]; then
+ echo "Because Usermin uses SSL for encryption only, the certificate"
+ echo "it uses is not signed by one of the recognized CAs such as"
+ echo "Verisign. When you first connect to the Usermin server, your"
+ echo "browser will ask you if you want to accept the certificate"
+ echo "presented, as it does not recognize the CA. Say yes."
+ echo ""
+ fi
+fi
+
+if [ "$oldwadir" != "$wadir" -a "$upgrading" = 1 ]; then
+ echo "The directory from the previous version of Usermin"
+ echo " $oldwadir"
+ echo "Can now be safely deleted to free up disk space, assuming"
+ echo "that all third-party modules have been copied to the new"
+ echo "version."
+ echo ""
+fi
+
diff --git a/app-admin/usermin/files/usermin-init b/app-admin/usermin/files/usermin-init
new file mode 100644
index 000000000000..43a0e06273ed
--- /dev/null
+++ b/app-admin/usermin/files/usermin-init
@@ -0,0 +1,78 @@
+#!/bin/sh
+# chkconfig: 235 99 10
+# description: Start or stop the Usermin server
+#
+### BEGIN INIT INFO
+# Provides: usermin
+# Required-Start: $network
+# Required-Stop: $network
+# Default-Start: 2 3 5
+# Default-Stop: 0 1 6
+# Description: Start or stop the Usermin server
+### END INIT INFO
+
+start=/etc/usermin/start
+stop=/etc/usermin/stop
+lockfile=/var/lock/subsys/usermin
+confFile=/etc/usermin/miniserv.conf
+pidFile=/var/usermin/miniserv.pid
+etc_dir=/etc/usermin
+name='Usermin'
+
+case "$1" in
+'start')
+ $start >/dev/null 2>&1 </dev/null
+ RETVAL=$?
+ if [ "$RETVAL" = "0" ]; then
+ touch $lockfile >/dev/null 2>&1
+ fi
+ ;;
+'stop')
+ $stop
+ RETVAL=$?
+ if [ "$RETVAL" = "0" ]; then
+ rm -f $lockfile
+ fi
+ ;;
+'status')
+ pidfile=`grep "^pidfile=" $confFile | sed -e 's/pidfile=//g'`
+ if [ "$pidfile" = "" ]; then
+ pidfile=$pidFile
+ fi
+ if [ -s $pidfile ]; then
+ pid=`cat $pidfile`
+ kill -0 $pid >/dev/null 2>&1
+ if [ "$?" = "0" ]; then
+ echo "$name (pid $pid) is running"
+ RETVAL=0
+ else
+ echo "$name is stopped"
+ RETVAL=1
+ fi
+ else
+ echo "$name is stopped"
+ RETVAL=1
+ fi
+ ;;
+'restart')
+ $stop && $start
+ RETVAL=$?
+ ;;
+'setup')
+ echo "Entering $etc_dir .."
+ cd $etc_dir
+ echo "..done"
+ echo ""
+ echo "Etering Setup ..."
+ ./setup.sh
+ echo "..done"
+ echo ""
+ ;;
+
+*)
+ echo "Usage: $0 { start | stop | restart | setup }"
+ RETVAL=1
+ ;;
+esac
+exit $RETVAL
+
diff --git a/app-admin/usermin/usermin-0.970.ebuild b/app-admin/usermin/usermin-0.970.ebuild
index c3b7bfbd520b..2a8841152c97 100644
--- a/app-admin/usermin/usermin-0.970.ebuild
+++ b/app-admin/usermin/usermin-0.970.ebuild
@@ -1,6 +1,6 @@
# Copyright 2002, Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/usermin/usermin-0.970.ebuild,v 1.1 2002/11/08 23:27:41 cretin Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/usermin/usermin-0.970.ebuild,v 1.2 2002/11/12 08:18:30 cretin Exp $
IUSE="ssl"
@@ -24,7 +24,10 @@ src_install() {
mv *.* ${D}/usr/libexec/usermin
mv * ${D}/usr/libexec/usermin
exeinto /etc/init.d
- newexe ${FILESDIR}/usermin usermin
+ newexe ${FILESDIR}/patch/usermin usermin
+ exeinto /usr/libexec/usermin
+ newexe ${FILESDIR}/patch/setup.sh setup.sh
+ newexe ${FILESDIR}/patch/usermin-init usermin-init
dosym /usr/libexec/usermin /etc/usermin
dosym /usr/libexec/usermin/usermin-init /usr/sbin/usermin
}
@@ -36,9 +39,20 @@ pkg_postinst() {
einfo "**********************************************************"
echo ""
einfo "***********************************************"
- einfo "* Configure by running /etc/usermin/setup.sh *"
+ einfo "* You Need To Run The Configure *"
+ einfo "* Configure by running usermin setup *"
+ einfo "***********************************************"
einfo "* To start usermin type usermin start *"
einfo "* To stop usermin type usermin stop *"
einfo "* To restart usermin type usermin restart *"
einfo "***********************************************"
}
+
+pkg_prerm() {
+ echo "Uninstalling usermin 0.970 .."
+ usermin stop;
+}
+
+pkg_postrm() {
+ /usr/libexec/usermin/uninstall.sh;
+} \ No newline at end of file