summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2014-06-07 11:29:32 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2014-06-07 11:29:32 +0000
commit2d494c82693eb87a17bcac60ae00b23bef8d47ff (patch)
tree4201af9b05d64902ebce8c8c12de5d176397d972 /app-admin/webmin
parentRemove redundant NEED_EMACS assignment. (diff)
downloadgentoo-2-2d494c82693eb87a17bcac60ae00b23bef8d47ff.tar.gz
gentoo-2-2d494c82693eb87a17bcac60ae00b23bef8d47ff.tar.bz2
gentoo-2-2d494c82693eb87a17bcac60ae00b23bef8d47ff.zip
Version bump. Fixes bug #511624 thanks to PhobosK <phobosk@fastmail.fm> and Pacho Ramos <pacho@gentoo.org>
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 09BF4F54C2BA7F3C!)
Diffstat (limited to 'app-admin/webmin')
-rw-r--r--app-admin/webmin/ChangeLog10
-rwxr-xr-xapp-admin/webmin/files/gentoo-setup27
-rw-r--r--app-admin/webmin/files/init.d.webmin9
-rw-r--r--app-admin/webmin/files/webmin.service18
-rw-r--r--app-admin/webmin/webmin-1.690.ebuild (renamed from app-admin/webmin/webmin-1.680.ebuild)57
5 files changed, 98 insertions, 23 deletions
diff --git a/app-admin/webmin/ChangeLog b/app-admin/webmin/ChangeLog
index 581eda395771..b3fc2f4b49af 100644
--- a/app-admin/webmin/ChangeLog
+++ b/app-admin/webmin/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-admin/webmin
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/ChangeLog,v 1.206 2014/05/01 16:30:09 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/ChangeLog,v 1.207 2014/06/07 11:29:32 hwoarang Exp $
+
+*webmin-1.690 (07 Jun 2014)
+
+ 07 Jun 2014; Markos Chandras <hwoarang@gentoo.org> +files/webmin.service,
+ +webmin-1.690.ebuild, -webmin-1.680.ebuild, files/gentoo-setup,
+ files/init.d.webmin:
+ Version bump. Fixes bug #511624 thanks to PhobosK <phobosk@fastmail.fm> and
+ Pacho Ramos <pacho@gentoo.org>
*webmin-1.680 (01 May 2014)
diff --git a/app-admin/webmin/files/gentoo-setup b/app-admin/webmin/files/gentoo-setup
index ef03a9a59059..3443bb02f67a 100755
--- a/app-admin/webmin/files/gentoo-setup
+++ b/app-admin/webmin/files/gentoo-setup
@@ -1,7 +1,7 @@
#!/bin/sh
# gentoo-setup.sh
#
-# Version 1.1
+# Version 1.2
#
# A modified original Webmin setup.sh script to comply with Gentoo specifics
#
@@ -193,6 +193,7 @@ fi
# Create start, stop, restart and reload Gentoo compliant Webmin scripts
# We use sys-apps/openrc functions which is already pulled by sys-apps/baselayout
+# or systemctl if we run under systemd
echo "Creating start and stop scripts.."
rm -f $config_dir/{start,stop,restart,reload}
@@ -201,7 +202,11 @@ cat <<END >>"$config_dir/start"
#!/bin/sh
if [ ! -f "${pidfile}" ]; then
- rc-service --ifexists -- webmin start
+ if [[ -d /run/systemd/system ]] ; then
+ systemctl start webmin.service
+ else
+ rc-service --ifexists -- webmin start
+ fi
fi
END
@@ -209,21 +214,33 @@ END
cat <<END >>"$config_dir/stop"
#!/bin/sh
-rc-service --ifexists -- webmin --ifstarted stop
+if [[ -d /run/systemd/system ]] ; then
+ systemctl stop webmin.service
+else
+ rc-service --ifexists -- webmin --ifstarted stop
+fi
END
# The restart script in /etc/webmin (Gentoo compliant)
cat <<END >>"$config_dir/restart"
#!/bin/sh
-rc-service --ifexists -- webmin --ifstarted restart
+if [[ -d /run/systemd/system ]] ; then
+ systemctl try-restart webmin.service
+else
+ rc-service --ifexists -- webmin --ifstarted restart
+fi
END
# The reload script in /etc/webmin (Gentoo compliant)
cat <<END >>"$config_dir/reload"
#!/bin/sh
-rc-service --ifexists -- webmin --ifstarted reload
+if [[ -d /run/systemd/system ]] ; then
+ systemctl reload-or-try-restart webmin.service
+else
+ rc-service --ifexists -- webmin --ifstarted reload
+fi
END
chmod 755 $config_dir/{start,stop,restart,reload}
diff --git a/app-admin/webmin/files/init.d.webmin b/app-admin/webmin/files/init.d.webmin
index bd1dc374bf36..d6aeb43305d3 100644
--- a/app-admin/webmin/files/init.d.webmin
+++ b/app-admin/webmin/files/init.d.webmin
@@ -1,7 +1,7 @@
#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/files/init.d.webmin,v 1.11 2012/07/09 18:12:47 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/files/init.d.webmin,v 1.12 2014/06/07 11:29:32 hwoarang Exp $
# We do not give a choice to user for configuring these 'cause it will mess up
@@ -9,6 +9,7 @@
WEBMIN_EXE="%exe%"
WEBMIN_PID="%pid%"
WEBMIN_CONF="%conf%"
+WEBMIN_CONFIG="%config%"
extra_started_commands="reload"
@@ -18,8 +19,8 @@ depend() {
checkconfig() {
# Check if Webmin setup has been done
- if [ ! -f /etc/webmin/config ]; then
- eerror "Error in Webmin's configuration. The '/etc/webmin/config' is not present."
+ if [ ! -f ${WEBMIN_CONFIG} ]; then
+ eerror "Error in Webmin's configuration. The ${WEBMIN_CONFIG} is not present."
eerror "Please run 'emerge --config app-admin/webmin' to fix this."
return 1
fi
diff --git a/app-admin/webmin/files/webmin.service b/app-admin/webmin/files/webmin.service
new file mode 100644
index 000000000000..5bec85b97c8c
--- /dev/null
+++ b/app-admin/webmin/files/webmin.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=Webmin Administration Tool
+After=network.target remote-fs.target nss-lookup.target
+ConditionFileNotEmpty=%config%
+ConditionFileNotEmpty=%conf%
+
+[Service]
+RemainAfterExit=yes
+KillMode=mixed
+# Webmin is exiting with 1 on SIGTERM
+SuccessExitStatus=1
+ExecStart=%exe% %conf%
+PIDFile=%pid%
+Environment="PERLLIB=%perllib%" LANG=
+ExecReload=/bin/kill -USR1 $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-admin/webmin/webmin-1.680.ebuild b/app-admin/webmin/webmin-1.690.ebuild
index f6d68f6cfbf8..ae64051f9906 100644
--- a/app-admin/webmin/webmin-1.680.ebuild
+++ b/app-admin/webmin/webmin-1.690.ebuild
@@ -1,10 +1,10 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/webmin-1.680.ebuild,v 1.1 2014/05/01 16:30:09 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/webmin/webmin-1.690.ebuild,v 1.1 2014/06/07 11:29:32 hwoarang Exp $
-EAPI="3"
+EAPI="5"
-inherit eutils pam ssl-cert
+inherit eutils pam ssl-cert systemd
DESCRIPTION="A web-based Unix systems administration interface"
HOMEPAGE="http://www.webmin.com/"
@@ -114,10 +114,22 @@ src_install() {
-e "s:%exe%:${EROOT}usr/libexec/webmin/miniserv.pl:" \
-e "s:%pid%:${EROOT}var/run/webmin.pid:" \
-e "s:%conf%:${EROOT}etc/webmin/miniserv.conf:" \
+ -e "s:%config%:${EROOT}etc/webmin/config:" \
-e "s:%perllib%:${EROOT}usr/libexec/webmin:" \
"${ED}etc/init.d/webmin" \
|| die "Failed to patch the webmin init file"
+ # Create the systemd service file and put the neccessary variables there
+ systemd_newunit "${FILESDIR}"/webmin.service webmin.service
+ sed -i \
+ -e "s:%exe%:${EROOT}usr/libexec/webmin/miniserv.pl:" \
+ -e "s:%pid%:${EROOT}var/run/webmin.pid:" \
+ -e "s:%conf%:${EROOT}etc/webmin/miniserv.conf:" \
+ -e "s:%config%:${EROOT}etc/webmin/config:" \
+ -e "s:%perllib%:${EROOT}usr/libexec/webmin:" \
+ "${ED}$(_systemd_get_unitdir)/webmin.service" \
+ || die "Failed to patch the webmin systemd service file"
+
# Setup pam
pamd_mimic system-auth webmin auth account session
@@ -130,7 +142,11 @@ src_install() {
pkg_preinst() {
# First stop service if running so Webmin to not messup our config
ebegin "Stopping any running Webmin instance prior merging"
- rc-service --ifexists -- webmin --ifstarted stop
+ if systemd_is_booted ; then
+ systemctl stop webmin.service 2>/dev/null
+ else
+ rc-service --ifexists -- webmin --ifstarted stop
+ fi
eend $?
}
@@ -147,7 +163,11 @@ pkg_postinst() {
ewarn "To avoid problems, please before using any module, look at its configuration options first."
ewarn "(Usually there is a link at top in the right pane of Webmin for configuring the module.)"
ewarn
- elog "- To make Webmin start at boot time, run: 'rc-update add webmin default'"
+ if systemd_is_booted ; then
+ elog "- To make Webmin start at boot time, run: 'systemctl enable webmin.service'"
+ else
+ elog "- To make Webmin start at boot time, run: 'rc-update add webmin default'"
+ fi
elog "- The default URL to connect to Webmin is: https://localhost:10000"
elog "- The default user that can login is: root"
elog "- To reconfigure Webmin in case of problems run 'emerge --config app-admin/webmin'"
@@ -156,23 +176,34 @@ pkg_postinst() {
pkg_prerm() {
# First stop service if running - we do not want Webmin to mess up config
ebegin "Stopping any running Webmin instance prior unmerging"
- rc-service --ifexists -- webmin --ifstarted stop
+ if systemd_is_booted ; then
+ systemctl stop webmin.service 2>/dev/null
+ else
+ rc-service --ifexists -- webmin --ifstarted stop
+ fi
eend $?
}
pkg_postrm() {
- ewarn
- ewarn "You have uninstalled Webmin, so have in mind that all cron jobs scheduled"
- ewarn "by Webmin for its own modules, are left active and they will fail when Webmin is missing."
- ewarn "To fix this just disable them if you intend to use Webmin again,"
- ewarn "OR delete them if not."
- ewarn
+ # If removing webmin completely, remind the user for the Webmin's own cron jobs.
+ if [[ ! ${REPLACED_BY_VERSION} ]]; then
+ ewarn
+ ewarn "You have uninstalled Webmin, so have in mind that all cron jobs scheduled"
+ ewarn "by Webmin for its own modules, are left active and they will fail when Webmin is missing."
+ ewarn "To fix this just disable them if you intend to use Webmin again,"
+ ewarn "OR delete them if not."
+ ewarn
+ fi
}
pkg_config(){
# First stop service if running
ebegin "Stopping any running Webmin instance"
- rc-service --ifexists -- webmin --ifstarted stop
+ if systemd_is_booted ; then
+ systemctl stop webmin.service 2>/dev/null
+ else
+ rc-service --ifexists -- webmin --ifstarted stop
+ fi
eend $?
# Next set the default reset variable to 'none'