]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
add /etc/dracut.conf.d
authorHarald Hoyer <harald@redhat.com>
Fri, 12 Feb 2010 10:12:37 +0000 (11:12 +0100)
committerHarald Hoyer <harald@redhat.com>
Fri, 12 Feb 2010 10:12:37 +0000 (11:12 +0100)
Makefile
dracut
dracut.8
dracut.spec

index 4270dea797d1fdc13f1d8905fd642a272c668a82..41a44062e09a1bd3744b1c165ba1c2b90960ac0a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -37,6 +37,7 @@ ifeq (1,${WITH_SWITCH_ROOT})
        install -m 0755 modules.d/99base/switch_root $(DESTDIR)$(sbindir)/switch_root
 endif
        install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf
+       mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
        install -m 0755 dracut-functions $(DESTDIR)$(pkglibdir)/dracut-functions
        cp -arx modules.d $(DESTDIR)$(pkglibdir)
        install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8
diff --git a/dracut b/dracut
index b43817371a0c2f0ee714451ba0edcf3080d01348..4f9b5e3b39b358d8c6f2022c412e10d3042d7632 100755 (executable)
--- a/dracut
+++ b/dracut
@@ -94,6 +94,7 @@ while (($# > 0)); do
        --debug) debug="yes";;
        -v|--verbose) beverbose="yes";;
        -c|--conf) conffile="$2"; shift;;
+       --confdir) confdir="$2"; shift;;
        -l|--local) allowlocal="yes" ;;
        -H|--hostonly) hostonly_l="yes" ;;
        -i|--include) include_src="$2"; include_target="$3"; shift 2;;
@@ -122,6 +123,19 @@ if [[ ! -f $conffile ]]; then
     [[ $allowlocal ]] && conffile="$dracutbasedir/dracut.conf"
 fi
 
+if [[ ! -d $confdir ]]; then
+    [[ $allowlocal ]] || confdir="/etc/dracut.conf.d"
+    [[ $allowlocal ]] && confdir="$dracutbasedir/dracut.conf.d"
+fi
+
+# source our config dir
+if [ "$confdir" ] && [  -d "$confdir" ]; then
+    local f
+    for f in "$confdir"/*.conf; do 
+       [ -e "$f" ] && . "$f"
+    done
+fi
+
 # source our config file
 [[ -f $conffile ]] && . "$conffile"
 
index d82e437d2dcd3e5ff671dd80d9601ed42d72e61e..3ec9c4f4f16e36a1e8659038f67bccdc943176fd 100644 (file)
--- a/dracut.8
+++ b/dracut.8
@@ -75,6 +75,11 @@ specify configuration file to use.
 Default: 
 .IR /etc/dracut.conf
 .TP
+.BR \-\-confdir " \fIDIR\fR"
+specify configuration directory to use.
+Default: 
+.IR /etc/dracut.conf.d
+.TP
 .BR \-l ", " \-\-local
 local mode. Use modules from the current working
 directory instead of the system-wide installed in
index 682c57ae02cfe3e06766e918f7e76e74cd340d9e..428dd16967727bb569221dc1fcccfc50c1f1eb6c 100644 (file)
@@ -180,6 +180,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_datadir}/dracut
 %{_datadir}/dracut/dracut-functions
 %config(noreplace) /etc/dracut.conf
+%dir /etc/dracut.conf.d
 %{_mandir}/man8/dracut.8*
 %{_mandir}/man5/dracut.conf.5*
 %{_datadir}/dracut/modules.d/00dash