summaryrefslogtreecommitdiff
path: root/libre/usermin
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2013-04-07 00:46:34 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2013-04-07 00:46:34 -0400
commit619b8d955269f2fe74386e98fac07675c8b55352 (patch)
treef3e2610a39c99a7e43bc2b345280b04e398b986a /libre/usermin
parent2b04539ac9310541a4e563460aed0cb7715770d2 (diff)
parent7d4e98b2d6f2fd4d42ebb55105bab8a05e34ab94 (diff)
downloadabslibre-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/PKGBUILD134
-rw-r--r--libre/usermin/usermin.install34
-rw-r--r--libre/usermin/usermin.rc44
-rw-r--r--libre/usermin/usermin.service9
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