diff options
author | 2014-06-07 11:29:32 +0000 | |
---|---|---|
committer | 2014-06-07 11:29:32 +0000 | |
commit | 2d494c82693eb87a17bcac60ae00b23bef8d47ff (patch) | |
tree | 4201af9b05d64902ebce8c8c12de5d176397d972 /app-admin/webmin | |
parent | Remove redundant NEED_EMACS assignment. (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rwxr-xr-x | app-admin/webmin/files/gentoo-setup | 27 | ||||
-rw-r--r-- | app-admin/webmin/files/init.d.webmin | 9 | ||||
-rw-r--r-- | app-admin/webmin/files/webmin.service | 18 | ||||
-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' |