Summary: Initramfs generator using udev
Name: dracut
Version: 017
-Release: 0.1
+Release: 2
License: GPL v2+
Group: Base
Source0: ftp://www.kernel.org/pub/linux/utils/boot/dracut/%{name}-%{version}.tar.xz
# Source0-md5: 8c966954cd973b5abbd7193368f1d5cc
+Source1: pld.conf
+Patch0: no-rh.patch
+Patch1: create-target-dir-for-symlink.patch
+Patch2: bash-sh.patch
URL: https://dracut.wiki.kernel.org/
-BuildRequires: bash
-BuildRequires: dash
-BuildRequires: docbook-dtds
+BuildRequires: docbook-dtd45-xml
BuildRequires: docbook-style-xsl
-BuildRequires: git
-BuildRequires: libxslt
-#BuildRequires: systemd-units
+BuildRequires: libxslt-progs
Requires: bash
Requires: coreutils
Requires: cpio
-Requires: filesystem >= 2.1.0
+Requires: filesystem
Requires: findutils
Requires: grep
Requires: gzip
Requires: hardlink
-Requires: module-init-tools >= 3.7-9
Requires: sed
+Requires: systemd-units
Requires: udev
Requires: util-linux >= 2.20
+Requires: virtual(module-tools)
+Suggests: biosdevname
+Suggests: btrfs-progs
+Suggests: busybox
+Suggests: bzip2
+Suggests: cryptsetup
+Suggests: dash
+Suggests: device-mapper
+Suggests: dmraid
+Suggests: e2fsprogs
+Suggests: gnupg
+Suggests: kbd
+Suggests: keyutils
+Suggests: libselinux-utils
+Suggests: losetup
+Suggests: lvm2
+Suggests: mdadm
+Suggests: multipath-tools
+Suggests: plymouth
+Suggests: suspend-utils
+Suggests: syslogdaemon
+Suggests: xfsprogs
+Suggests: xz
+Conflicts: kmod < 6
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary: Dracut modules to build a dracut initramfs with network support
Group: Base
Requires: %{name} = %{version}-%{release}
+Requires: bridge-utils
+Requires: dhclient
+Requires: iproute2
+Requires: iputils-arping
+Requires: iputils-ping
+Requires: nbd
+Requires: net-tools
+Requires: nfs-utils-clients
+Requires: open-iscsi
+Requires: openssh-clients
+Requires: rpcbind
+Suggests: curl
%description network
This package requires everything which is needed to build a generic
This package requires everything which is needed to build an all
purpose initramfs with dracut, which does an integrity check.
-This package requires everything which is needed to build an all
-purpose initramfs with dracut, which does an integrity check.
-
%package fips-aesni
Summary: Dracut modules to build a dracut initramfs with an integrity check with aesni-intel
Group: Base
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/boot/dracut
-install -d $RPM_BUILD_ROOT/var/lib/dracut/overlay
-install -d $RPM_BUILD_ROOT%{_localstatedir}/log
-install -d $RPM_BUILD_ROOT%{_sharedstatedir}/initramfs
-install -d $RPM_BUILD_ROOT/etc/logrotate.d
-install -d $RPM_BUILD_ROOT/sbin
+install -d $RPM_BUILD_ROOT{/boot/dracut,/etc/logrotate.d,/sbin} \
+ $RPM_BUILD_ROOT/var/{log,lib/{dracut/overlay,initramfs}}
%{__make} install DESTDIR=$RPM_BUILD_ROOT \
libdir=%{_prefix}/lib \
echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/10rpmversion/dracut-version
-# remove gentoo specific modules
-rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
-
-touch $RPM_BUILD_ROOT%{_localstatedir}/log/dracut.log
-
-#install dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/01-dist.conf
-install dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/40-fips.conf
-
-#rm $RPM_BUILD_ROOT%{_bindir}/mkinitrd
-#rm $RPM_BUILD_ROOT%{_bindir}/lsinitrd
-
-install dracut.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/dracut_log
+install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/01-dist.conf
+install -p dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/40-fips.conf
+install -p dracut.logrotate $RPM_BUILD_ROOT/etc/logrotate.d/dracut_log
# create compat symlink
ln -s %{_bindir}/dracut $RPM_BUILD_ROOT/sbin/dracut
+# remove gentoo specific modules
+%{__rm} -r $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg
-%attr(755,root,root) %{_bindir}/dracut
+%dir %{_sysconfdir}/dracut.conf.d
+%config(noreplace) %{_sysconfdir}/dracut.conf
+%config(noreplace) %{_sysconfdir}/dracut.conf.d/01-dist.conf
+%config(noreplace) /etc/logrotate.d/dracut_log
# compat symlink
-/sbin/dracut
-#%attr(755,root,root) %{_bindir}/mkinitrd
-#%attr(755,root,root) %{_bindir}/lsinitrd
+%attr(755,root,root) /sbin/dracut
+%attr(755,root,root) %{_bindir}/dracut
+%attr(755,root,root) %{_bindir}/mkinitrd
+%attr(755,root,root) %{_bindir}/lsinitrd
%dir %{dracutlibdir}
%dir %{dracutlibdir}/modules.d
-%{dracutlibdir}/dracut-functions.sh
-%{dracutlibdir}/dracut-functions
-%{dracutlibdir}/dracut-logger.sh
-%{dracutlibdir}/dracut-initramfs-restore
-%config(noreplace) %{_sysconfdir}/dracut.conf
-#%config %{_sysconfdir}/dracut.conf.d/01-dist.conf
-%dir %{_sysconfdir}/dracut.conf.d
+%attr(755,root,root) %{dracutlibdir}/dracut-functions.sh
+%attr(755,root,root) %{dracutlibdir}/dracut-functions
+%attr(755,root,root) %{dracutlibdir}/dracut-logger.sh
+%attr(755,root,root) %{dracutlibdir}/dracut-initramfs-restore
+%dir %{dracutlibdir}/modules.d/00bootchart
+%attr(755,root,root) %{dracutlibdir}/modules.d/00bootchart/*.sh
+%dir %{dracutlibdir}/modules.d/00dash
+%attr(755,root,root) %{dracutlibdir}/modules.d/00dash/*.sh
+%dir %{dracutlibdir}/modules.d/01bash
+%attr(755,root,root) %{dracutlibdir}/modules.d/01bash/*.sh
+%dir %{dracutlibdir}/modules.d/05busybox
+%attr(755,root,root) %{dracutlibdir}/modules.d/05busybox/*.sh
+%dir %{dracutlibdir}/modules.d/10i18n
+%{dracutlibdir}/modules.d/10i18n/README
+%{dracutlibdir}/modules.d/10i18n/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/10i18n/*.sh
+%dir %{dracutlibdir}/modules.d/10rpmversion
+%{dracutlibdir}/modules.d/10rpmversion/dracut-version
+%attr(755,root,root) %{dracutlibdir}/modules.d/10rpmversion/*.sh
+%dir %{dracutlibdir}/modules.d/30convertfs
+%attr(755,root,root) %{dracutlibdir}/modules.d/30convertfs/*.sh
+%dir %{dracutlibdir}/modules.d/50plymouth
+%attr(755,root,root) %{dracutlibdir}/modules.d/50plymouth/*.sh
+%dir %{dracutlibdir}/modules.d/90btrfs
+%{dracutlibdir}/modules.d/90btrfs/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90btrfs/*.sh
+%dir %{dracutlibdir}/modules.d/90crypt
+%attr(755,root,root) %{dracutlibdir}/modules.d/90crypt/*.sh
+%dir %{dracutlibdir}/modules.d/90dm
+%{dracutlibdir}/modules.d/90dm/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90dm/*.sh
+%dir %{dracutlibdir}/modules.d/90dmraid
+%{dracutlibdir}/modules.d/90dmraid/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90dmraid/*.sh
+%dir %{dracutlibdir}/modules.d/90dmsquash-live
+%attr(755,root,root) %{dracutlibdir}/modules.d/90dmsquash-live/*.sh
+%dir %{dracutlibdir}/modules.d/90kernel-modules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90kernel-modules/*.sh
+%dir %{dracutlibdir}/modules.d/90lvm
+%{dracutlibdir}/modules.d/90lvm/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90lvm/*.sh
+%dir %{dracutlibdir}/modules.d/90mdraid
+%{dracutlibdir}/modules.d/90mdraid/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90mdraid/*.sh
+%dir %{dracutlibdir}/modules.d/90multipath
+%attr(755,root,root) %{dracutlibdir}/modules.d/90multipath/*.sh
+%dir %{dracutlibdir}/modules.d/91crypt-gpg
+%attr(755,root,root) %{dracutlibdir}/modules.d/91crypt-gpg/*.sh
+%dir %{dracutlibdir}/modules.d/95debug
+%attr(755,root,root) %{dracutlibdir}/modules.d/95debug/*.sh
+%dir %{dracutlibdir}/modules.d/95resume
+%attr(755,root,root) %{dracutlibdir}/modules.d/95resume/*.sh
+%dir %{dracutlibdir}/modules.d/95rootfs-block
+%attr(755,root,root) %{dracutlibdir}/modules.d/95rootfs-block/*.sh
+%dir %{dracutlibdir}/modules.d/95dasd
+%attr(755,root,root) %{dracutlibdir}/modules.d/95dasd/*.sh
+%dir %{dracutlibdir}/modules.d/95dasd_mod
+%attr(755,root,root) %{dracutlibdir}/modules.d/95dasd_mod/*.sh
+%dir %{dracutlibdir}/modules.d/95fstab-sys
+%attr(755,root,root) %{dracutlibdir}/modules.d/95fstab-sys/*.sh
+%dir %{dracutlibdir}/modules.d/95zfcp
+%{dracutlibdir}/modules.d/95zfcp/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/95zfcp/*.sh
+%dir %{dracutlibdir}/modules.d/95terminfo
+%attr(755,root,root) %{dracutlibdir}/modules.d/95terminfo/*.sh
+%dir %{dracutlibdir}/modules.d/95udev-rules
+%{dracutlibdir}/modules.d/95udev-rules/*.rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/95udev-rules/*.sh
+%dir %{dracutlibdir}/modules.d/96securityfs
+%attr(755,root,root) %{dracutlibdir}/modules.d/96securityfs/*.sh
+%dir %{dracutlibdir}/modules.d/97biosdevname
+%attr(755,root,root) %{dracutlibdir}/modules.d/97biosdevname/*.sh
+%dir %{dracutlibdir}/modules.d/97masterkey
+%{dracutlibdir}/modules.d/97masterkey/README
+%attr(755,root,root) %{dracutlibdir}/modules.d/97masterkey/*.sh
+%dir %{dracutlibdir}/modules.d/98ecryptfs
+%{dracutlibdir}/modules.d/98ecryptfs/README
+%attr(755,root,root) %{dracutlibdir}/modules.d/98ecryptfs/*.sh
+%dir %{dracutlibdir}/modules.d/98integrity
+%{dracutlibdir}/modules.d/98integrity/README
+%attr(755,root,root) %{dracutlibdir}/modules.d/98integrity/*.sh
+%dir %{dracutlibdir}/modules.d/98selinux
+%attr(755,root,root) %{dracutlibdir}/modules.d/98selinux/*.sh
+%dir %{dracutlibdir}/modules.d/98syslog
+%{dracutlibdir}/modules.d/98syslog/README
+%{dracutlibdir}/modules.d/98syslog/rsyslog.conf
+%attr(755,root,root) %{dracutlibdir}/modules.d/98syslog/*.sh
+%dir %{dracutlibdir}/modules.d/98usrmount
+%attr(755,root,root) %{dracutlibdir}/modules.d/98usrmount/*.sh
+%dir %{dracutlibdir}/modules.d/99base
+%attr(755,root,root) %{dracutlibdir}/modules.d/99base/*.sh
+%dir %{dracutlibdir}/modules.d/99fs-lib
+%attr(755,root,root) %{dracutlibdir}/modules.d/99fs-lib/*.sh
+%dir %{dracutlibdir}/modules.d/99img-lib
+%attr(755,root,root) %{dracutlibdir}/modules.d/99img-lib/*.sh
+%dir %{dracutlibdir}/modules.d/99shutdown
+%attr(755,root,root) %{dracutlibdir}/modules.d/99shutdown/*.sh
+%dir /var/lib/initramfs
+%{systemdunitdir}/*.service
+%{systemdunitdir}/*/*.service
%{_mandir}/man8/dracut.8*
%{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.cmdline.7*
%{_mandir}/man5/dracut.conf.5*
-%{dracutlibdir}/modules.d/00bootchart
-%{dracutlibdir}/modules.d/00dash
-%{dracutlibdir}/modules.d/05busybox
-%{dracutlibdir}/modules.d/10i18n
-%{dracutlibdir}/modules.d/10rpmversion
-%{dracutlibdir}/modules.d/30convertfs
-%{dracutlibdir}/modules.d/45url-lib
-%{dracutlibdir}/modules.d/50plymouth
-%{dracutlibdir}/modules.d/90btrfs
-%{dracutlibdir}/modules.d/90crypt
-%{dracutlibdir}/modules.d/90dm
-%{dracutlibdir}/modules.d/90dmraid
-%{dracutlibdir}/modules.d/90dmsquash-live
-%{dracutlibdir}/modules.d/90kernel-modules
-%{dracutlibdir}/modules.d/90lvm
-%{dracutlibdir}/modules.d/90mdraid
-%{dracutlibdir}/modules.d/90multipath
-%{dracutlibdir}/modules.d/91crypt-gpg
-%{dracutlibdir}/modules.d/95debug
-%{dracutlibdir}/modules.d/95resume
-%{dracutlibdir}/modules.d/95rootfs-block
-%{dracutlibdir}/modules.d/95dasd
-%{dracutlibdir}/modules.d/95dasd_mod
-%{dracutlibdir}/modules.d/95fstab-sys
-%{dracutlibdir}/modules.d/95zfcp
-%{dracutlibdir}/modules.d/95terminfo
-%{dracutlibdir}/modules.d/95udev-rules
-%{dracutlibdir}/modules.d/96securityfs
-%{dracutlibdir}/modules.d/97biosdevname
-%{dracutlibdir}/modules.d/97masterkey
-%{dracutlibdir}/modules.d/98ecryptfs
-%{dracutlibdir}/modules.d/98integrity
-%{dracutlibdir}/modules.d/98pollcdrom
-%{dracutlibdir}/modules.d/98selinux
-%{dracutlibdir}/modules.d/98syslog
-%{dracutlibdir}/modules.d/98usrmount
-%{dracutlibdir}/modules.d/99base
-%{dracutlibdir}/modules.d/99fs-lib
-%{dracutlibdir}/modules.d/99img-lib
-%{dracutlibdir}/modules.d/99shutdown
-%config(noreplace) /etc/logrotate.d/dracut_log
-%ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
-%dir %{_sharedstatedir}/initramfs
-%{systemdunitdir}/*.service
-%{systemdunitdir}/*/*.service
%files network
%defattr(644,root,root,755)
-%{dracutlibdir}/modules.d/40network
-%{dracutlibdir}/modules.d/95fcoe
-%{dracutlibdir}/modules.d/95iscsi
-%{dracutlibdir}/modules.d/90livenet
-%{dracutlibdir}/modules.d/95nbd
-%{dracutlibdir}/modules.d/95nfs
-%{dracutlibdir}/modules.d/95ssh-client
-%{dracutlibdir}/modules.d/45ifcfg
-%{dracutlibdir}/modules.d/95znet
+%dir %{dracutlibdir}/modules.d/40network
+%{dracutlibdir}/modules.d/40network/dhclient.conf
+%attr(755,root,root) %{dracutlibdir}/modules.d/40network/*.sh
+%dir %{dracutlibdir}/modules.d/45ifcfg
+%attr(755,root,root) %{dracutlibdir}/modules.d/45ifcfg/*.sh
+%dir %{dracutlibdir}/modules.d/45url-lib
+%attr(755,root,root) %{dracutlibdir}/modules.d/45url-lib/*.sh
+%dir %{dracutlibdir}/modules.d/90livenet
+%attr(755,root,root) %{dracutlibdir}/modules.d/90livenet/*.sh
+%dir %{dracutlibdir}/modules.d/95fcoe
+%attr(755,root,root) %{dracutlibdir}/modules.d/95fcoe/*.sh
+%dir %{dracutlibdir}/modules.d/95iscsi
+%attr(755,root,root) %{dracutlibdir}/modules.d/95iscsi/*.sh
+%dir %{dracutlibdir}/modules.d/95nbd
+%attr(755,root,root) %{dracutlibdir}/modules.d/95nbd/*.sh
+%dir %{dracutlibdir}/modules.d/95nfs
+%attr(755,root,root) %{dracutlibdir}/modules.d/95nfs/*.sh
+%dir %{dracutlibdir}/modules.d/95ssh-client
+%attr(755,root,root) %{dracutlibdir}/modules.d/95ssh-client/*.sh
+%dir %{dracutlibdir}/modules.d/95znet
+%attr(755,root,root) %{dracutlibdir}/modules.d/95znet/*.sh
%files fips
%defattr(644,root,root,755)
%files fips-aesni
%defattr(644,root,root,755)
%doc COPYING
-%{dracutlibdir}/modules.d/02fips-aesni
+%attr(755,root,root) %{dracutlibdir}/modules.d/02fips-aesni/*.sh
%files caps
%defattr(644,root,root,755)
-%{dracutlibdir}/modules.d/02caps
+%{dracutlibdir}/modules.d/02caps/README
+%attr(755,root,root) %{dracutlibdir}/modules.d/02caps/*.sh
%files tools
%defattr(644,root,root,755)