diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-04-07 00:46:34 -0400 |
---|---|---|
committer | Luke Shumaker <LukeShu@sbcglobal.net> | 2013-04-07 00:46:34 -0400 |
commit | 619b8d955269f2fe74386e98fac07675c8b55352 (patch) | |
tree | f3e2610a39c99a7e43bc2b345280b04e398b986a /libre/usermin | |
parent | 2b04539ac9310541a4e563460aed0cb7715770d2 (diff) | |
parent | 7d4e98b2d6f2fd4d42ebb55105bab8a05e34ab94 (diff) | |
download | abslibre-619b8d955269f2fe74386e98fac07675c8b55352.tar.gz abslibre-619b8d955269f2fe74386e98fac07675c8b55352.tar.bz2 abslibre-619b8d955269f2fe74386e98fac07675c8b55352.zip |
Merge branch 'master' of ssh://parabolagnulinux.org:1863/srv/git/abslibre
Diffstat (limited to 'libre/usermin')
-rw-r--r-- | libre/usermin/PKGBUILD | 134 | ||||
-rw-r--r-- | libre/usermin/usermin.install | 34 | ||||
-rw-r--r-- | libre/usermin/usermin.rc | 44 | ||||
-rw-r--r-- | libre/usermin/usermin.service | 9 |
4 files changed, 221 insertions, 0 deletions
diff --git a/libre/usermin/PKGBUILD b/libre/usermin/PKGBUILD new file mode 100644 index 000000000..7d594cdcd --- /dev/null +++ b/libre/usermin/PKGBUILD @@ -0,0 +1,134 @@ +# $Id$ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +pkgname=usermin +pkgver=1.540 +pkgrel=1.1 +pkgdesc="a web interface that can be used to easily perform tasks like reading mail, setting up SSH or configuring mail forwarding (Parabola rebranded)" +arch=(i686 x86_64 mips64el) +license=('custom:usermin') +url="http://www.webmin.com/" +depends=('perl' 'webmin') +makedepends=('perl-net-ssleay') +backup=('etc/usermin/miniserv.conf' 'etc/usermin/miniserv.users' 'etc/usermin/config' 'etc/usermin/usermin.cats' \ +'etc/usermin/at/config' \ +'etc/usermin/man/config' \ +'etc/usermin/ssh/config' \ +'etc/usermin/chfn/config' \ +'etc/usermin/cron/config' \ +'etc/usermin/file/config' \ +'etc/usermin/plan/config' \ +'etc/usermin/proc/config' \ +'etc/usermin/spam/config' \ +'etc/usermin/htaccess/config' \ +'etc/usermin/cshrc/config' \ +'etc/usermin/gnupg/config' \ +'etc/usermin/mysql/config' \ +'etc/usermin/quota/config' \ +'etc/usermin/shell/config' \ +'etc/usermin/theme/config' \ +'etc/usermin/mailbox/config' \ +'etc/usermin/schedule/config' \ +'etc/usermin/config' \ +'etc/usermin/commands/config' \ +'etc/usermin/htaccess-htpasswd/config' \ +'etc/usermin/forward/config' \ +'etc/usermin/telnet/config' \ +'etc/usermin/tunnel/config' \ +'etc/usermin/updown/config' \ +'etc/usermin/procmail/config' \ +'etc/usermin/fetchmail/config' \ +'etc/usermin/changepass/config' \ +'etc/usermin/language/config' \ +'etc/usermin/postgresql/config' \ +'etc/usermin/usermount/config' \ +) +install=usermin.install +source=(http://downloads.sourceforge.net/sourceforge/webadmin/$pkgname-$pkgver.tar.gz + usermin.rc + usermin.service + ftp://ftp.archlinux.org/other/usermin/usermin-config.tar.bz2) + +package() { + cd "$srcdir"/$pkgname-$pkgver + + # remove modules we do not support + + #remove config files from other distros + rm -f $(find . ! -name 'config-generic-linux' ! -name 'config-\*-linux' ! -name 'config-lib.pl' -name 'config-*') + + # remove caldera theme + rm -rf caldera + + # remove init-scripts from other distros + rm usermin-init + rm usermin-daemon + + # setting perl path + (find . -name '*.cgi' ; find . -name '*.pl') | perl perlpath.pl /usr/bin/perl - + + # create dirs + mkdir -p "$pkgdir"/opt/usermin + mkdir -p "$pkgdir"/var/log/usermin + mkdir -p "$pkgdir"/etc/usermin + + # install pam stuff + install -D -m 644 usermin-pam "$pkgdir"/etc/pam.d/usermin + + # remove other distros and add only Parabola GNU/Linux-libre don't change next line else it will not work! + rm os_list.txt + echo 'Parabola GNU/Linux-libre Any version generic-linux * -d "/etc/pacman.d"' >> os_list.txt + + # copy stuff to right dirs + cd "$srcdir"/$pkgname-$pkgver + cp -rp * "$pkgdir"/opt/usermin + cd "$srcdir"/usermin-config + cp -rfp * "$pkgdir"/opt/usermin + + # define parameters for setup.sh + config_dir="$pkgdir"/etc/usermin + var_dir="$pkgdir"/var/log/usermin + perl=/usr/bin/perl + autoos=1 + port=20000 + login=root + crypt="XXX" + ssl=1 + atboot=0 + nostart=1 + nochown=1 + autothird=1 + nouninstall=1 + noperlpath=1 + atbootyn=n + tempdir="$pkgdir"/tmp + export config_dir var_dir perl autoos port tempdir ssl nochown autothird nouninstall nostart noperlpath atbootyn login crypt + + # Fix setup.sh + sed -i -e 's:read atbootyn::g' -e 's:exit 13::g' "$pkgdir"/opt/usermin/setup.sh + "$pkgdir"/opt/usermin/setup.sh + + # Fixup the config files to use their real locations + sed -i 's:^pidfile=.*$:pidfile=/var/run/usermin.pid:' "$pkgdir"/etc/usermin/miniserv.conf + find "$pkgdir"/etc/usermin -type f -exec sed -i "s:$pkgdir::g" {} \; + + # make it only accessible by localhost + echo 'allow=127.0.0.1' >> "$pkgdir"/etc/usermin/miniserv.conf + + # enable user and password login + sed -i -e '/localauth/d' "$pkgdir"/etc/usermin/miniserv.conf + + #install systemd service file + install -D -m 644 "$srcdir"/usermin.service "$pkgdir"/usr/lib/systemd/system/usermin.service + + #install rc file + install -D -m 755 "$srcdir"/usermin.rc "$pkgdir"/etc/rc.d/usermin + + # delete temp dir + rm -r "$pkgdir"/tmp + #install license + install -m 644 -D "$srcdir"/$pkgname-$pkgver/LICENCE "$pkgdir"/usr/share/licenses/usermin/LICENCE +} +md5sums=('d29c9fdebab14c168c33bde8906efe21' + 'cfef4490cd1ef9517c0b39a7bd75c968' + 'a5bd5e5ee779f8a3cf3d776ca77ee36e' + 'ec37a79f948f778224550930d2a7ca07') diff --git a/libre/usermin/usermin.install b/libre/usermin/usermin.install new file mode 100644 index 000000000..3ace10ea2 --- /dev/null +++ b/libre/usermin/usermin.install @@ -0,0 +1,34 @@ +# arg 1: the new package version +post_install() { + local crypt=$(grep "^root:" ${ROOT}/etc/shadow | cut -f 2 -d :) + crypt=${crypt//\\/\\\\} + crypt=${crypt//\//\\\/} + sed -i "s/root:XXX/root:${crypt}/" /etc/usermin/miniserv.users +cat << EOF +Note: +==> It is not allowed to install 3rd party modules, or delete existing modules. +==> Please write your own PKGBUILDS for 3rd party modules and additional themes. +Setup: +==> To make usermin start at boot time, add usermin to rc.conf daemons +==> Point your web browser to http://localhost:20000 to use usermin. +==> To change the modules setup please use webmin. + +==> The access is restricted to localhost, if you want to connect from other locations +==> change /etc/usermin/miniserv.conf to something like that: allow=127.0.0.1 <your-ip> +==> If you want to have ssl encryption please install 'perl-net-ssleay' additional. +EOF +# fix man module + cd /opt/usermin/man + gzip -df $(find . -name '*.gz') +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +pre_remove() { + # uninstall unzipped files + rm -r /opt/usermin/man +} diff --git a/libre/usermin/usermin.rc b/libre/usermin/usermin.rc new file mode 100644 index 000000000..af365780a --- /dev/null +++ b/libre/usermin/usermin.rc @@ -0,0 +1,44 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +start=/etc/usermin/start +stop=/etc/usermin/stop +lockfile=/var/lock/usermin + +case "$1" in +'start') + stat_busy "Starting Usermin daemon" + $start >/dev/null 2>&1 </dev/null + RETVAL=$? + if [ "$RETVAL" = "0" ]; then + touch $lockfile >/dev/null 2>&1 + stat_done + else + stat_fail +fi +;; + +'stop') + stat_busy "Stopping Usermin daemon" + $stop >/dev/null 2>&1 </dev/null + RETVAL=$? + if [ "$RETVAL" = "0" ]; then + rm -f $lockfile + stat_done + else + stat_fail +fi +;; + +'restart') + $stop && $start + RETVAL=$? +;; +*) +echo "Usage: $0 { start | stop | restart }" +RETVAL=1 +;; +esac +exit $RETVAL
\ No newline at end of file diff --git a/libre/usermin/usermin.service b/libre/usermin/usermin.service new file mode 100644 index 000000000..e91164c63 --- /dev/null +++ b/libre/usermin/usermin.service @@ -0,0 +1,9 @@ +[Unit] +Description=Usermin + +[Service] +Type=forking +ExecStart=/opt/usermin/miniserv.pl /etc/usermin/miniserv.conf + +[Install] +WantedBy=multi-user.target |