commit:     6b475ab26992f1dd8815700828df46abc4b71d27
Author:     William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Fri Mar 16 19:33:01 2018 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri Mar 16 19:33:01 2018 +0000
URL:        https://gitweb.gentoo.org/proj/openrc.git/commit/?id=6b475ab2

init.d/modules: add code from modules-load service

There is no reason for these to be separate services. I did add a
provide so that we don't break backward compatibility.

 NEWS.md                |  7 +++++
 init.d/Makefile        |  4 +--
 init.d/modules-load.in | 72 --------------------------------------------------
 init.d/modules.in      | 62 +++++++++++++++++++++++++++++++++++++++++--
 4 files changed, 69 insertions(+), 76 deletions(-)

diff --git a/NEWS.md b/NEWS.md
index b64d5d8a..f7849093 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -4,6 +4,13 @@ OpenRC NEWS
 This file will contain a list of notable changes for each release. Note
 the information in this file is in reverse order.
 
+## OpenRC 0.36
+
+In this release, the modules-load service has been combined into the
+modules service since there is no reason I know of to keep them
+separate. However, modules also provides modules-load in case you were
+using modules-load in  your dependencies.
+
 ## OpenRC 0.35
 
 In this version, the cgroups mounting logic has been moved from the

diff --git a/init.d/Makefile b/init.d/Makefile
index 9c97e1ed..e18f7a9f 100644
--- a/init.d/Makefile
+++ b/init.d/Makefile
@@ -19,10 +19,10 @@ SRCS-FreeBSD=       hostid.in modules.in moused.in 
newsyslog.in pf.in rarpd.in \
                rc-enabled.in rpcbind.in savecore.in syslogd.in
 # These are FreeBSD specific
 SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \
-               modules-load.in mixer.in nscd.in powerd.in syscons.in
+               mixer.in nscd.in powerd.in syscons.in
 
 SRCS-Linux=    agetty.in binfmt.in devfs.in cgroups.in dmesg.in hwclock.in \
-       consolefont.in keymaps.in killprocs.in modules.in modules-load.in \
+       consolefont.in keymaps.in killprocs.in modules.in \
        mount-ro.in mtab.in numlock.in procfs.in net-online.in sysfs.in \
 termencoding.in
 

diff --git a/init.d/modules-load.in b/init.d/modules-load.in
deleted file mode 100644
index f71f704d..00000000
--- a/init.d/modules-load.in
+++ /dev/null
@@ -1,72 +0,0 @@
-#!@SBINDIR@/openrc-run
-# Copyright (c) 2016 The OpenRC Authors.
-# See the Authors file at the top-level directory of this distribution and
-# https://github.com/OpenRC/openrc/blob/master/AUTHORS
-#
-# This file is part of OpenRC. It is subject to the license terms in
-# the LICENSE file found in the top-level directory of this
-# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
-# This file may not be copied, modified, propagated, or distributed
-# except according to the terms contained in the LICENSE file.
-
-description="Loads a list of modules from systemd-compatible locations."
-
-depend()
-{
-       keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver
-}
-
-find_modfiles()
-{
-       local dirs="/usr/lib/modules-load.d /run/modules-load.d 
/etc/modules-load.d"
-       local basenames files fn x y
-       for x in $dirs; do
-               [ ! -d $x ] && continue
-               for y in $x/*.conf; do
-                       [ -f $y ] && basenames="${basenames}\n${y##*/}"
-               done
-       done
-       basenames=$(printf "$basenames" | sort -u)
-       for x in $basenames; do
-               for y in $dirs; do
-                       [ -r $y/$x ] &&
-                               fn=$y/$x
-               done
-               files="$files $fn"
-       done
-       echo $files
-}
-
-load_modules()
-{
-       local file m modules rc x
-       file=$1
-       [ -z "$file" ] && return 0
-       while read m x; do
-               case $m in
-                       \;*) continue ;;
-                       \#*) continue ;;
-                       *) modules="$modules $m"
-                       ;;
-               esac
-       done < $file
-       for x in $modules; do
-               ebegin "Loading module $x"
-               case "$RC_UNAME" in
-                       FreeBSD) kldload "$x"; rc=$? ;;
-                       Linux) modprobe --use-blacklist -q "$x"; rc=$? ;;
-                       *) ;;
-               esac
-               eend $rc "Failed to load $x"
-       done
-}
-
-start()
-{
-       local x
-       files=$(find_modfiles)
-       for x in $files; do
-               load_modules $x
-       done
-       return 0
-}

diff --git a/init.d/modules.in b/init.d/modules.in
index 2eab77f0..d6dd7a29 100644
--- a/init.d/modules.in
+++ b/init.d/modules.in
@@ -14,10 +14,65 @@ description="Loads a user defined list of kernel modules."
 depend()
 {
        use isapnp
-       want modules-load
+       provide modules-load
        keyword -docker -lxc -openvz -prefix -systemd-nspawn -vserver
 }
 
+find_modfiles()
+{
+       local dirs="/usr/lib/modules-load.d /run/modules-load.d 
/etc/modules-load.d"
+       local basenames files fn x y
+       for x in $dirs; do
+               [ ! -d $x ] && continue
+               for y in $x/*.conf; do
+                       [ -f $y ] && basenames="${basenames}\n${y##*/}"
+               done
+       done
+       basenames=$(printf "$basenames" | sort -u)
+       for x in $basenames; do
+               for y in $dirs; do
+                       [ -r $y/$x ] &&
+                               fn=$y/$x
+               done
+               files="$files $fn"
+       done
+       echo $files
+}
+
+load_modules()
+{
+       local file m modules rc x
+       file=$1
+       [ -z "$file" ] && return 0
+       while read m x; do
+               case $m in
+                       \;*) continue ;;
+                       \#*) continue ;;
+                       *) modules="$modules $m"
+                       ;;
+               esac
+       done < $file
+       for x in $modules; do
+               ebegin "Loading module $x"
+               case "$RC_UNAME" in
+                       FreeBSD) kldload "$x"; rc=$? ;;
+                       Linux) modprobe --use-blacklist -q "$x"; rc=$? ;;
+                       *) ;;
+               esac
+               eend $rc "Failed to load $x"
+       done
+}
+
+modules_load_d()
+{
+       local x
+       files=$(find_modfiles)
+       for x in $files; do
+               load_modules $x
+       done
+       return 0
+}
+
 FreeBSD_modules()
 {
        local cnt=0 x
@@ -82,7 +137,10 @@ Linux_modules()
 start()
 {
        case "$RC_UNAME" in
-               FreeBSD|Linux) ${RC_UNAME}_modules ;;
+               FreeBSD|Linux) 
+                       modules_load_d
+                       ${RC_UNAME}_modules
+                       ;;
                *) ;;
        esac
        return 0

Reply via email to