pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/pkgtools/rc.d-boot Add support for Linux sysvinit, bot...
details: https://anonhg.NetBSD.org/pkgsrc/rev/985a499f7183
branches: trunk
changeset: 389317:985a499f7183
user: schmonz <schmonz%pkgsrc.org@localhost>
date: Fri Dec 28 20:24:02 2018 +0000
description:
Add support for Linux sysvinit, both Debian and Red Hat styles. Improve
systemd detection. Tested on CentOS 6 (Red Hat init) and 7 (systemd),
Devuan (Debian init), and Debian 9 (systemd).
Add RCDBOOT_STYLE to BUILD_DEFS.
Bump version.
diffstat:
pkgtools/rc.d-boot/DEINSTALL | 9 ++++++-
pkgtools/rc.d-boot/INSTALL | 9 ++++++-
pkgtools/rc.d-boot/Makefile | 41 ++++++++++++++++++++++--------
pkgtools/rc.d-boot/PLIST | 3 +-
pkgtools/rc.d-boot/files/pkgsrc-rc.d-boot | 37 +++++++++++++++++++++++++++
5 files changed, 85 insertions(+), 14 deletions(-)
diffs (191 lines):
diff -r dfcb9dab09cb -r 985a499f7183 pkgtools/rc.d-boot/DEINSTALL
--- a/pkgtools/rc.d-boot/DEINSTALL Fri Dec 28 14:18:50 2018 +0000
+++ b/pkgtools/rc.d-boot/DEINSTALL Fri Dec 28 20:24:02 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: DEINSTALL,v 1.3 2018/12/26 00:43:55 schmonz Exp $
+# $NetBSD: DEINSTALL,v 1.4 2018/12/28 20:24:02 schmonz Exp $
RCDBOOT_STYLE=@RCDBOOT_STYLE@
RCD_SCRIPTS_DIR=@RCD_SCRIPTS_DIR@
@@ -14,6 +14,13 @@
linux-systemd)
systemctl disable pkgsrc-rc.d-boot.service
;;
+ linux-sysv-debian)
+ update-rc.d pkgsrc-rc.d-boot remove
+ ;;
+ linux-sysv-redhat)
+ chkconfig pkgsrc-rc.d-boot off
+ chkconfig --del pkgsrc-rc.d-boot
+ ;;
netbsd-native)
;;
openbsd-rcd)
diff -r dfcb9dab09cb -r 985a499f7183 pkgtools/rc.d-boot/INSTALL
--- a/pkgtools/rc.d-boot/INSTALL Fri Dec 28 14:18:50 2018 +0000
+++ b/pkgtools/rc.d-boot/INSTALL Fri Dec 28 20:24:02 2018 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: INSTALL,v 1.5 2018/12/26 00:43:55 schmonz Exp $
+# $NetBSD: INSTALL,v 1.6 2018/12/28 20:24:02 schmonz Exp $
RCDBOOT_STYLE=@RCDBOOT_STYLE@
RCD_SCRIPTS_DIR=@RCD_SCRIPTS_DIR@
@@ -15,6 +15,13 @@
linux-systemd)
systemctl enable --now /etc/systemd/system/pkgsrc-rc.d-boot.service
;;
+ linux-sysv-debian)
+ update-rc.d pkgsrc-rc.d-boot defaults
+ ;;
+ linux-sysv-redhat)
+ chkconfig --add pkgsrc-rc.d-boot
+ chkconfig pkgsrc-rc.d-boot on
+ ;;
netbsd-native)
;;
openbsd-rcd)
diff -r dfcb9dab09cb -r 985a499f7183 pkgtools/rc.d-boot/Makefile
--- a/pkgtools/rc.d-boot/Makefile Fri Dec 28 14:18:50 2018 +0000
+++ b/pkgtools/rc.d-boot/Makefile Fri Dec 28 20:24:02 2018 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.6 2018/12/26 00:43:55 schmonz Exp $
+# $NetBSD: Makefile,v 1.7 2018/12/28 20:24:02 schmonz Exp $
#
-PKGNAME= rc.d-boot-20181226
+PKGNAME= rc.d-boot-20181228
CATEGORIES= pkgtools
MAINTAINER= schmonz%NetBSD.org@localhost
@@ -9,6 +9,7 @@
LICENSE= 2-clause-bsd
ONLY_FOR_PLATFORM= # empty by default
+RCDBOOT_STYLE= unknown
.include "../../mk/bsd.prefs.mk"
@@ -27,6 +28,7 @@
SUBST_STAGE.paths= pre-configure
SUBST_FILES.paths= rc.d-boot
SUBST_FILES.paths+= org.pkgsrc.rc.d-boot.plist \
+ pkgsrc-rc.d-boot \
pkgsrc-rc.d-boot.service
SUBST_VARS.paths= GREP PREFIX RCD_SCRIPTS_DIR RCORDER
@@ -35,30 +37,44 @@
EGDIR= share/examples/${PKGBASE}
-.if ${OPSYS} == "Darwin" && exists (/Library/LaunchDaemons)
-ONLY_FOR_PLATFORM+= ${OPSYS}-*-*
+.if ${OPSYS} == "Darwin" && exists(/Library/LaunchDaemons)
RCDBOOT_STYLE= darwin-launchd
CONF_FILES+= ${PREFIX}/${EGDIR}/org.pkgsrc.rc.d-boot.plist \
/Library/LaunchDaemons/org.pkgsrc.rc.d-boot.plist
.elif ${OPSYS} == "FreeBSD" && exists(/etc/rc.d)
-ONLY_FOR_PLATFORM+= ${OPSYS}-*-*
RCDBOOT_STYLE= freebsd-native
-.elif ${OPSYS} == "Linux" && exists(/etc/systemd/system)
-ONLY_FOR_PLATFORM+= ${OPSYS}-*-*
+.elif ${OPSYS} == "Linux" && exists(/run/systemd/system) && exists(/bin/systemctl)
RCDBOOT_STYLE= linux-systemd
CONF_FILES+= ${PREFIX}/${EGDIR}/pkgsrc-rc.d-boot.service \
/etc/systemd/system/pkgsrc-rc.d-boot.service
+.elif ${OPSYS} == "Linux" && exists(/etc/rc.d/init.d) && exists(/sbin/chkconfig)
+RCDBOOT_STYLE= linux-sysv-redhat
+CONF_FILES_PERMS+= ${PREFIX}/${EGDIR}/pkgsrc-rc.d-boot \
+ /etc/init.d/pkgsrc-rc.d-boot \
+ ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} ${RCD_SCRIPTS_MODE}
+.elif ${OPSYS} == "Linux" && exists(/etc/init.d) && exists(/usr/sbin/update-rc.d)
+RCDBOOT_STYLE= linux-sysv-debian
+CONF_FILES_PERMS+= ${PREFIX}/${EGDIR}/pkgsrc-rc.d-boot \
+ /etc/init.d/pkgsrc-rc.d-boot \
+ ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} ${RCD_SCRIPTS_MODE}
.elif ${OPSYS} == "NetBSD" && exists(/etc/rc.d)
-ONLY_FOR_PLATFORM+= ${OPSYS}-*-*
RCDBOOT_STYLE= netbsd-native
.elif ${OPSYS} == "OpenBSD" && exists(/etc/rc.d/rc.subr)
+RCDBOOT_STYLE= openbsd-rcd
+.endif
+
+.if ${RCDBOOT_STYLE} != "unknown"
ONLY_FOR_PLATFORM+= ${OPSYS}-*-*
-RCDBOOT_STYLE= openbsd-rcd
.else
+# Help wanted! Some known boot schemes we'd like to support:
+# - https://wiki.gentoo.org/wiki/Project:OpenRC
+# - http://smarden.org/runit/
+# - https://jdebp.eu/Softwares/nosh/
+# - http://upstart.ubuntu.com
NOT_FOR_PLATFORM+= ${OPSYS}-*-*
.endif
-BUILD_DEFS+= RCD_SCRIPTS_DIR
+BUILD_DEFS+= RCDBOOT_STYLE RCD_SCRIPTS_DIR
INSTALLATION_DIRS= sbin ${EGDIR}
do-extract:
@@ -67,7 +83,10 @@
do-install:
. for i in org.pkgsrc.rc.d-boot.plist \
pkgsrc-rc.d-boot.service
- ${INSTALL_DATA} ${WRKSRC}/${i} ${DESTDIR}${PREFIX}/${EGDIR}/
+ ${INSTALL_DATA} ${WRKSRC}/${i} ${DESTDIR}${PREFIX}/${EGDIR}/
+. endfor
+. for i in pkgsrc-rc.d-boot
+ ${INSTALL_SCRIPT} ${WRKSRC}/${i} ${DESTDIR}${PREFIX}/${EGDIR}/
. endfor
${INSTALL_SCRIPT} ${WRKSRC}/rc.d-boot ${DESTDIR}${PREFIX}/sbin/
diff -r dfcb9dab09cb -r 985a499f7183 pkgtools/rc.d-boot/PLIST
--- a/pkgtools/rc.d-boot/PLIST Fri Dec 28 14:18:50 2018 +0000
+++ b/pkgtools/rc.d-boot/PLIST Fri Dec 28 20:24:02 2018 +0000
@@ -1,4 +1,5 @@
-@comment $NetBSD: PLIST,v 1.2 2018/12/12 02:08:10 schmonz Exp $
+@comment $NetBSD: PLIST,v 1.3 2018/12/28 20:24:02 schmonz Exp $
sbin/rc.d-boot
share/examples/rc.d-boot/org.pkgsrc.rc.d-boot.plist
+share/examples/rc.d-boot/pkgsrc-rc.d-boot
share/examples/rc.d-boot/pkgsrc-rc.d-boot.service
diff -r dfcb9dab09cb -r 985a499f7183 pkgtools/rc.d-boot/files/pkgsrc-rc.d-boot
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pkgtools/rc.d-boot/files/pkgsrc-rc.d-boot Fri Dec 28 20:24:02 2018 +0000
@@ -0,0 +1,37 @@
+#! /bin/sh
+#
+# $NetBSD: pkgsrc-rc.d-boot,v 1.1 2018/12/28 20:24:02 schmonz Exp $
+#
+# @PKGNAME@ script to start/stop pkgsrc-provided services
+
+### BEGIN INIT INFO
+# Provides: pkgsrc-rc.d-boot
+# Required-Start: $remote_fs $network
+# Required-Stop: $remote_fs $network
+# Default-Start: 2 3 4 5
+# Default-Stop:
+# Short-Description: Starts all pkgsrc-provided services
+### END INIT INFO
+
+# chkconfig: 2345 70 30
+# description: Starts all pkgsrc-provided services
+
+PREFIX="@PREFIX@"
+export PATH="${PREFIX}/sbin:${PREFIX}/bin:${PATH}"
+RCDBOOT="${PREFIX}/sbin/rc.d-boot"
+
+test -x ${RCDBOOT} || exit 0
+
+case "$1" in
+ start|stop|reload|restart|status)
+ ${RCDBOOT} "$1"
+ ;;
+ force-reload)
+ ${RCDBOOT} restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|reload|force-reload|restart|status}"
+ exit 2
+esac
+
+exit $?
Home |
Main Index |
Thread Index |
Old Index