Summary: Initramfs generator using udev
Summary(pl.UTF-8): Generator initramfs wykorzystujący udev
Name: dracut
-Version: 040
-Release: 1
+Version: 056
+Release: 3
License: GPL v2+
Group: Base
Source0: https://www.kernel.org/pub/linux/utils/boot/dracut/%{name}-%{version}.tar.xz
-# Source0-md5: e961da9566b3c0dd838f737f879cf339
+# Source0-md5: 17d51f3ccc3a3a790bab6da0355ca4c2
Source1: tld.conf
-Patch1: plymouth-libexec.patch
-Patch2: os-release.patch
-Patch3: plymouth-logo.patch
-Patch4: arch-libdir.patch
-Patch5: systemd-paths.patch
-Patch6: prelink-libs.patch
-Patch7: config.patch
-Patch8: xz_compressor.patch
-Patch9: proc_sys_remount.patch
-Patch10: misc_fixes.patch
+Source2: update-initramfs
+Patch1: os-release.patch
+Patch2: arch-libdir.patch
+Patch3: config.patch
+Patch4: compressors.patch
+Patch5: proc_sys_remount.patch
+Patch6: misc_fixes.patch
+Patch7: initrd-release.patch
+Patch8: crypttab-keyscript.patch
+Patch9: bash.patch
+Patch100: no_systemd.patch
URL: https://dracut.wiki.kernel.org/
BuildRequires: asciidoc
BuildRequires: dash
BuildRequires: docbook-dtd45-xml
BuildRequires: docbook-style-xsl
+BuildRequires: kmod-devel >= 23
BuildRequires: libxslt-progs
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.752
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
Requires: bash
Requires: bzip2
Requires: coreutils
Requires: grep
Requires: gzip
Requires: hardlink
+Requires: kmod >= 23
Requires: sed
-Requires: systemd-units
Requires: udev
Requires: util-linux >= 2.22.2-3
Requires: vim-rt
Suggests: lvm2
Suggests: mdadm
Suggests: multipath-tools
-Suggests: plymouth
Suggests: suspend-utils
Suggests: syslogdaemon
Suggests: xfsprogs
Conflicts: kmod < 6
-Conflicts: systemd < 1:199
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define dracutlibdir %{_prefix}/lib/dracut
Requires: dhcp-client
Requires: iproute2
Requires: iputils-arping
-Requires: iputils-ping
Requires: nbd
Requires: net-tools
Requires: nfs-utils-clients
Requires: open-iscsi
Requires: openssh-clients
+Requires: ping
Requires: rpcbind
Suggests: curl
Requires: %{name} = %{version}-%{release}
Requires: hmaccalc
Requires: nss-softokn-freebl
+Obsoletes: dracut-fips-aesni < 048
%description fips
This package requires everything which is needed to build an all
dracuta obrazów initramfs dowolnego przeznaczenia, wykonujących
kontrolę własnej spójności.
-%package fips-aesni
-Summary: Dracut modules to build a dracut initramfs with an integrity check with aesni-intel
-Summary(pl.UTF-8): Moduły Dracuta do tworzenia initramfs z kontrolą spójności przez aesni-intel
-Group: Base
-Requires: %{name}-fips = %{version}-%{release}
-
-%description fips-aesni
-This package requires everything which is needed to build an all
-purpose initramfs with dracut, which does an integrity check and adds
-the aesni-intel kernel module.
-
-%description fips-aesni -l pl.UTF-8
-Ten pakiet zawiera wszystko, co potrzebne do tworzenia przy użyciu
-dracuta obrazów initramfs dowolnego przeznaczenia wykonujących
-kontrolę własnej spójności z dodanym modułem jądra aesni-intel.
-
%package caps
Summary: Dracut modules to build a dracut initramfs which drops capabilities
Summary(pl.UTF-8): Moduły Dracuta do tworzenia initramfs zrzucającego uprawnienia
Group: Applications/Shells
Requires: %{name} = %{version}
Requires: bash-completion >= 2.0
+BuildArch: noarch
%description -n bash-completion-dracut
bash-completion for dracut.
%patch7 -p1
%patch8 -p1
%patch9 -p1
-%patch10 -p1
+%patch100 -p1
-%{__sed} -i -e 's,@lib@,%{_lib},g' modules.d/50plymouth/module-setup.sh
%{__sed} -i -e 's,@lib@,%{_lib},g' modules.d/95resume/module-setup.sh
find modules.d -name '*.orig' | xargs -r %{__rm}
%build
+# not autoconf generated
+./configure \
+ --sysconfdir=%{_sysconfdir}
+
%{__make} all doc \
CC="%{__cc}" \
CFLAGS="%{rpmcflags}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/boot/dracut,/etc/logrotate.d,/sbin} \
+install -d $RPM_BUILD_ROOT{/boot/dracut,/sbin} \
$RPM_BUILD_ROOT/var/{log,lib/{dracut/overlay,initramfs}}
%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT \
- libdir=%{_prefix}/lib \
- bindir=%{_bindir} \
- systemdsystemunitdir=%{systemdunitdir} \
- sysconfdir=%{_sysconfdir} \
- mandir=%{_mandir}
+ DESTDIR=$RPM_BUILD_ROOT
install -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/dracut.conf.d/01-dist.conf
+install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/update-initramfs
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
-echo "DRACUT_VERSION=%{version}-%{release}" >$RPM_BUILD_ROOT/%{dracutlibdir}/dracut-version.sh
+echo "DRACUT_VERSION=%{version}-%{release}" >$RPM_BUILD_ROOT%{dracutlibdir}/dracut-version.sh
# create compat symlink
ln -s %{_bindir}/dracut $RPM_BUILD_ROOT/sbin/dracut
+# remove foreign arch modules
+%ifnarch ppc ppc64
+%{__rm} -r $RPM_BUILD_ROOT%{dracutlibdir}/modules.d/90ppcmac
+%endif
# remove gentoo specific modules
%{__rm} -r $RPM_BUILD_ROOT%{dracutlibdir}/modules.d/50gensplash
+# remove systemd and related stuff
+%{__rm} -r $RPM_BUILD_ROOT%{dracutlibdir}/modules.d/{00systemd*,01systemd*,98dracut-systemd}
+%{__rm} -r $RPM_BUILD_ROOT%{dracutlibdir}/modules.d/{06dbus-broker,06dbus-daemon,06rngd,09dbus,35network-manager,35network-wicked,50plymouth,62bluetooth,80lvmmerge,91fido2,91pcsc,91pkcs11,91tpm2-tss,99memstrack}
+%{__rm} $RPM_BUILD_ROOT%{dracutlibdir}/modules.d/{90dmsquash-live/checkisomd5@.service,90multipath/multipathd{,-configure}.service}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/dracut-*.service.8
+
+# remove unneded files
+%{__rm} -r $RPM_BUILD_ROOT/usr/lib/kernel/install.d/*.install
+
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS HACKING NEWS README* TODO dracut.html dracut.png dracut.svg
+%doc AUTHORS NEWS.md README.md docs/HACKING.md dracut.html docs/dracut.png docs/dracut.svg
%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
%attr(755,root,root) /sbin/dracut
%attr(755,root,root) %{_bindir}/dracut
-%attr(755,root,root) %{_bindir}/mkinitrd
%attr(755,root,root) %{_bindir}/lsinitrd
+%attr(755,root,root) %{_bindir}/update-initramfs
%dir %{dracutlibdir}
+%dir %{dracutlibdir}/dracut.conf.d
%attr(755,root,root) %{dracutlibdir}/dracut-install
+%attr(755,root,root) %{dracutlibdir}/dracut-util
%dir %{dracutlibdir}/modules.d
%attr(755,root,root) %{dracutlibdir}/dracut-functions.sh
%attr(755,root,root) %{dracutlibdir}/dracut-functions
+%attr(755,root,root) %{dracutlibdir}/dracut-init.sh
%attr(755,root,root) %{dracutlibdir}/dracut-logger.sh
%attr(755,root,root) %{dracutlibdir}/dracut-initramfs-restore
%dir %{dracutlibdir}/modules.d/00bash
%attr(755,root,root) %{dracutlibdir}/modules.d/00bash/module-setup.sh
-%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/00systemd-bootchart
-%attr(755,root,root) %{dracutlibdir}/modules.d/00systemd-bootchart/*.sh
+%dir %{dracutlibdir}/modules.d/00mksh
+%attr(755,root,root) %{dracutlibdir}/modules.d/00mksh/module-setup.sh
+%dir %{dracutlibdir}/modules.d/00warpclock
+%attr(755,root,root) %{dracutlibdir}/modules.d/00warpclock/*.sh
%dir %{dracutlibdir}/modules.d/03modsign
%attr(755,root,root) %{dracutlibdir}/modules.d/03modsign/*.sh
%dir %{dracutlibdir}/modules.d/03rescue
%attr(755,root,root) %{dracutlibdir}/modules.d/03rescue/module-setup.sh
%dir %{dracutlibdir}/modules.d/04watchdog
%attr(755,root,root) %{dracutlibdir}/modules.d/04watchdog/*.sh
+%dir %{dracutlibdir}/modules.d/04watchdog-modules
+%attr(755,root,root) %{dracutlibdir}/modules.d/04watchdog-modules/module-setup.sh
%dir %{dracutlibdir}/modules.d/05busybox
%attr(755,root,root) %{dracutlibdir}/modules.d/05busybox/*.sh
%dir %{dracutlibdir}/modules.d/10i18n
%attr(755,root,root) %{dracutlibdir}/modules.d/30convertfs/*.sh
%dir %{dracutlibdir}/modules.d/50drm
%attr(755,root,root) %{dracutlibdir}/modules.d/50drm/module-setup.sh
-%dir %{dracutlibdir}/modules.d/50plymouth
-%attr(755,root,root) %{dracutlibdir}/modules.d/50plymouth/*.sh
%dir %{dracutlibdir}/modules.d/80cms
%attr(755,root,root) %{dracutlibdir}/modules.d/80cms/*.sh
+%dir %{dracutlibdir}/modules.d/81cio_ignore
+%attr(755,root,root) %{dracutlibdir}/modules.d/81cio_ignore/*.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/91crypt-loop
-%attr(755,root,root) %{dracutlibdir}/modules.d/91crypt-loop/*.sh
%dir %{dracutlibdir}/modules.d/90dm
%{dracutlibdir}/modules.d/90dm/*.rules
%attr(755,root,root) %{dracutlibdir}/modules.d/90dm/*.sh
%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
-%{dracutlibdir}/modules.d/90dmsquash-live/checkisomd5@.service
+%dir %{dracutlibdir}/modules.d/90dmsquash-live-ntfs
+%attr(755,root,root) %{dracutlibdir}/modules.d/90dmsquash-live-ntfs/*.sh
%dir %{dracutlibdir}/modules.d/90kernel-modules
%attr(755,root,root) %{dracutlibdir}/modules.d/90kernel-modules/*.sh
+%dir %{dracutlibdir}/modules.d/90kernel-modules-extra
+%attr(755,root,root) %{dracutlibdir}/modules.d/90kernel-modules-extra/*.sh
%dir %{dracutlibdir}/modules.d/90lvm
%{dracutlibdir}/modules.d/90lvm/*.rules
%attr(755,root,root) %{dracutlibdir}/modules.d/90lvm/*.sh
%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/90nvdimm
+%attr(755,root,root) %{dracutlibdir}/modules.d/90nvdimm/module-setup.sh
%dir %{dracutlibdir}/modules.d/90qemu
%attr(755,root,root) %{dracutlibdir}/modules.d/90qemu/*.sh
%dir %{dracutlibdir}/modules.d/91crypt-gpg
+%{dracutlibdir}/modules.d/91crypt-gpg/README
%attr(755,root,root) %{dracutlibdir}/modules.d/91crypt-gpg/*.sh
+%dir %{dracutlibdir}/modules.d/91crypt-loop
+%attr(755,root,root) %{dracutlibdir}/modules.d/91crypt-loop/*.sh
+%dir %{dracutlibdir}/modules.d/91zipl
+%attr(755,root,root) %{dracutlibdir}/modules.d/91zipl/*.sh
+%dir %{dracutlibdir}/modules.d/95dcssblk
+%attr(755,root,root) %{dracutlibdir}/modules.d/95dcssblk/*.sh
%dir %{dracutlibdir}/modules.d/95debug
%attr(755,root,root) %{dracutlibdir}/modules.d/95debug/*.sh
+%dir %{dracutlibdir}/modules.d/95lunmask
+%attr(755,root,root) %{dracutlibdir}/modules.d/95lunmask/*.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/95fcoe-uefi/*.sh
%dir %{dracutlibdir}/modules.d/95fstab-sys
%attr(755,root,root) %{dracutlibdir}/modules.d/95fstab-sys/*.sh
+%dir %{dracutlibdir}/modules.d/95nvmf
+%attr(755,root,root) %{dracutlibdir}/modules.d/95nvmf/*.sh
+%{dracutlibdir}/modules.d/95nvmf/95-nvmf-initqueue.rules
+%dir %{dracutlibdir}/modules.d/95qeth_rules
+%attr(755,root,root) %{dracutlibdir}/modules.d/95qeth_rules/*.sh
%dir %{dracutlibdir}/modules.d/95zfcp
%attr(755,root,root) %{dracutlibdir}/modules.d/95zfcp/*.sh
%dir %{dracutlibdir}/modules.d/95zfcp_rules
%{dracutlibdir}/modules.d/98syslog/README
%{dracutlibdir}/modules.d/98syslog/rsyslog.conf
%attr(755,root,root) %{dracutlibdir}/modules.d/98syslog/*.sh
-%dir %{dracutlibdir}/modules.d/98systemd
-%{dracutlibdir}/modules.d/98systemd/*.service
-%{dracutlibdir}/modules.d/98systemd/*.target
-%attr(755,root,root) %{dracutlibdir}/modules.d/98systemd/*.sh
-%doc %{dracutlibdir}/modules.d/98systemd/*.8*
%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/99img-lib/*.sh
%dir %{dracutlibdir}/modules.d/99shutdown
%attr(755,root,root) %{dracutlibdir}/modules.d/99shutdown/*.sh
+%dir %{dracutlibdir}/modules.d/99squash
+%attr(755,root,root) %{dracutlibdir}/modules.d/99squash/*.sh
%dir %{dracutlibdir}/modules.d/99uefi-lib
%attr(755,root,root) %{dracutlibdir}/modules.d/99uefi-lib/*.sh
%attr(755,root,root) %{dracutlibdir}/dracut-version.sh
%attr(755,root,root) %{dracutlibdir}/skipcpio
%dir /var/lib/initramfs
-%{systemdunitdir}/*.service
-%{systemdunitdir}/*/*.service
+
+%{_npkgconfigdir}/dracut.pc
+
%{_mandir}/man1/lsinitrd.1*
%{_mandir}/man5/dracut.conf.5*
+%{_mandir}/man7/dracut.bootup.7*
%{_mandir}/man7/dracut.cmdline.7*
%{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.modules.7*
%{_mandir}/man8/dracut.8*
-%{_mandir}/man8/dracut-cmdline.service.8*
-%{_mandir}/man8/dracut-initqueue.service.8*
-%{_mandir}/man8/dracut-mount.service.8*
-%{_mandir}/man8/dracut-pre-mount.service.8*
-%{_mandir}/man8/dracut-pre-pivot.service.8*
-%{_mandir}/man8/dracut-pre-trigger.service.8*
-%{_mandir}/man8/dracut-pre-udev.service.8*
-%{_mandir}/man8/dracut-shutdown.service.8*
-%{_mandir}/man8/mkinitrd.8*
-%{_mandir}/man7/dracut.bootup.7.gz
#/usr/lib/kernel/install.d/50-dracut.install
#/usr/lib/kernel/install.d/51-dracut-rescue.install
%files network
%defattr(644,root,root,755)
+%dir %{dracutlibdir}/modules.d/35network-legacy
+%{dracutlibdir}/modules.d/35network-legacy/dhclient.conf
+%attr(755,root,root) %{dracutlibdir}/modules.d/35network-legacy/*.sh
%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/90kernel-network-modules
+%attr(755,root,root) %{dracutlibdir}/modules.d/90kernel-network-modules/module-setup.sh
%dir %{dracutlibdir}/modules.d/90livenet
%attr(755,root,root) %{dracutlibdir}/modules.d/90livenet/*.sh
+%ifarch ppc ppc64
+%dir %{dracutlibdir}/modules.d/90ppcmac
+%attr(755,root,root) %{dracutlibdir}/modules.d/90ppcmac/*.sh
+%endif
%dir %{dracutlibdir}/modules.d/90qemu-net
%attr(755,root,root) %{dracutlibdir}/modules.d/90qemu-net/*.sh
%dir %{dracutlibdir}/modules.d/95cifs
%attr(755,root,root) %{dracutlibdir}/modules.d/01fips/*.sh
%config(noreplace) %{_sysconfdir}/dracut.conf.d/40-fips.conf
-%files fips-aesni
-%defattr(644,root,root,755)
-%dir %{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/README