Browse Source

introduce /usr/lib/dracut/dracut.conf.d/ drop-in directory

/usr/lib/dracut/dracut.conf.d/*.conf can be overwritten by the same
filenames in /etc/dracut.conf.d.

Packages should use /usr/lib/dracut/dracut.conf.d rather than
/etc/dracut.conf.d. /etc/dracut.conf.d belongs to the system
administrator.
master
Harald Hoyer 12 years ago
parent
commit
a42b2b8133
  1. 1
      Makefile
  2. 32
      dracut.sh
  3. 11
      dracut.spec

1
Makefile

@ -91,6 +91,7 @@ install: dracut-version.sh @@ -91,6 +91,7 @@ install: dracut-version.sh
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
install -m 0644 dracut.conf $(DESTDIR)$(sysconfdir)/dracut.conf
mkdir -p $(DESTDIR)$(sysconfdir)/dracut.conf.d
mkdir -p $(DESTDIR)$(pkglibdir)/dracut.conf.d
install -m 0755 dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions.sh
install -m 0755 dracut-version.sh $(DESTDIR)$(pkglibdir)/dracut-version.sh
ln -fs dracut-functions.sh $(DESTDIR)$(pkglibdir)/dracut-functions

32
dracut.sh

@ -235,6 +235,30 @@ read_arg() { @@ -235,6 +235,30 @@ read_arg() {
fi
}


source_dirs_prio()
{
suffix=$1; shift
args=("$@")
files=$(
while (( $# > 0 )); do
for i in ${1}/*${suffix}; do
[[ -f $i ]] && echo ${i##*/}
done
shift
done | sort -Vu
)

for f in $files; do
for d in "${args[@]}"; do
if [[ -f "$d/$f" ]]; then
echo "$d/$f"
continue 2
fi
done
done
}

verbosity_mod_l=0
unset kernel
unset outfile
@ -465,11 +489,9 @@ fi @@ -465,11 +489,9 @@ fi
[[ -f $conffile ]] && . "$conffile"

# source our config dir
if [[ $confdir && -d $confdir ]]; then
for f in "$confdir"/*.conf; do
[[ -e $f ]] && . "$f"
done
fi
for f in $(source_dirs_prio ".conf" "$confdir" "$dracutbasedir/dracut.conf.d"); do
[[ -e $f ]] && . "$f"
done

# these optins add to the stuff in the config file
if (( ${#add_dracutmodules_l[@]} )); then

11
dracut.spec

@ -217,12 +217,12 @@ touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log @@ -217,12 +217,12 @@ touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log
mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs

%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/40-fips.conf
install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf
install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/40-fips.conf
%endif

%if 0%{?suse_version}
install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT/etc/dracut.conf.d/01-dist.conf
install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/01-dist.conf
%endif

%if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999
@ -260,9 +260,10 @@ rm -rf $RPM_BUILD_ROOT @@ -260,9 +260,10 @@ rm -rf $RPM_BUILD_ROOT
%{dracutlibdir}/dracut-install
%config(noreplace) /etc/dracut.conf
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel}
%config /etc/dracut.conf.d/01-dist.conf
%{dracutlibdir}/dracut.conf.d/01-dist.conf
%endif
%dir /etc/dracut.conf.d
%dir %{dracutlibdir}/dracut.conf.d
%{_mandir}/man8/dracut.8*
%{_mandir}/man8/*service.8*
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
@ -345,7 +346,7 @@ rm -rf $RPM_BUILD_ROOT @@ -345,7 +346,7 @@ rm -rf $RPM_BUILD_ROOT
%files fips
%defattr(-,root,root,0755)
%{dracutlibdir}/modules.d/01fips
%config(noreplace) /etc/dracut.conf.d/40-fips.conf
%{dracutlibdir}/dracut.conf.d/40-fips.conf
%endif

%files fips-aesni

Loading…
Cancel
Save