File dracut.spec of Package dracut.892

#
# spec file for package dracut
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define dracutlibdir %{_libexecdir}/dracut

Name:           dracut
Version:        037
Release:        0
Summary:        Initramfs generator using udev
License:        GPL-2.0+ and LGPL-2.1+
Group:          System/Base
Url:            https://dracut.wiki.kernel.org/
Source0:        http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
Source3:        mkinitrd_setup_dummy
Source4:        purge-kernels
Source5:        purge-kernels.service
Source6:        dracut-installkernel
Patch1:         dracut_v37_to_HEAD.patch
Patch11:        0011-Correct-paths-for-openSUSE.patch
Patch12:        0012-Check-for-plymouth-lib-directories.patch
Patch13:        0013-mkinitrd-suse-do-not-update-bootloader-if-no-kernel-.patch
Patch14:        0014-Update-dracut-manpage-for-GRUB-Legacy-and-GRUB2.patch
Patch15:        0015-40network-replace-dhclient-with-wickedd-dhcp-supplic.patch
Patch16:        0016-Add-new-s390x-specific-rule-files.patch
Patch17:        0017-45ifcfg-use-distro-specific-scripts.patch
Patch18:        0018-mkinitrd-suse-Fix-whitespaces-when-adding-drivers.patch
Patch19:        0019-40network-Fix-race-condition-when-wait-for-networks.patch
Patch20:        0020-00warpclock-Set-correct-timezone.patch
Patch21:        0021-95dcssblk-Add-new-module-for-DCSS-block-devices.patch
Patch22:        0022-95udev-rules-add-persistent-network-rule.patch
Patch23:        0023-systemd-always-tries-to-load-autofs4.patch
Patch24:        0024-Fixup-mdraid-setup.patch
Patch25:        0025-95udev-rules-Add-59-scsi-sg_utils.rules.patch
Patch26:        0026-90multipath-add-67-kpartx-compat.rules.patch
Patch27:        0027-90multipath-install-dracut-specific-service-file.patch
Patch28:        0028-95udev-rules-Include-correct-sg3_utils-rules.patch
Patch29:        0029-90multipath-install-correct-multipath-rules.patch
Patch30:        0030-95iscsi-Autodetect-iSCSI-firmware.patch
Patch31:        0031-90multipath-Fixup-service-file-for-booting.patch
Patch32:        0032-mkinitrd-suse.sh-Use-hostonly-and-hostonly-cmdline-c.patch
Patch33:        0033-95iscsi-Set-correct-iscsi_started-value-for-iSCSI-fi.patch
Patch34:        0034-dracut-Do-not-stop-installing-drivers-if-one-fails.patch
Patch35:        0035-Introduce-force-drivers-parameter-and-force_drivers-.patch
Patch36:        0036-95fcoe-Store-current-configuration-in-dracut-cmdline.patch
Patch37:        0037-95fcoe-update-fcoe-interface-check.patch
Patch38:        0038-95fcoe-start-lldpad-separately.patch
Patch39:        0039-Remove-force-parameter-from-mkinitrd.patch
Patch40:        0040-95fcoe-skip-VLAN-devices-in-fcoe-up.patch
Patch41:        0041-mkinitd-suse-remove-hostonly-and-hostonly-cmdline.patch
Patch42:        0042-Enhance-suse.conf-example-with-SUSE-specific-setting.patch
Patch43:        0043-40network-always-add-network-module.patch
Patch44:        0044-Add-find-to-debug-binaries.patch
Patch45:        0045-40network-add-missing-_arch-variable-declaration.patch
Patch46:        0046-dracut-Do-not-wait-for-swap-device.patch
Patch47:        0047-95resume-skip-module-for-s390-x.patch
Patch48:        0048-40network-Only-enable-network-interfaces-if-explicit.patch
Patch49:        0049-95iscsi-Use-ip-ibft-for-ibft-autoconfiguration.patch
Patch50:        0050-95iscsi-strip-one-set-of-quotes-when-calling-initque.patch
Patch51:        0051-mkinitrd-suse-add-update-bootloader-message.patch
Patch52:        0052-99base-Add-chown-binary.patch
Patch53:        0053-01fips-fixup-loading-issues.patch
Patch54:        0054-95iscsi-update-commandline-printing.patch
Patch55:        0055-95fcoe-Only-install-fcoe-module-if-required.patch
Patch56:        0056-81cio_ignore-handle-cio_ignore-commandline.patch
Patch57:        0057-01fips-Include-some-more-hmacs.patch
Patch58:        0058-dracut-add-warning-when-including-unsupported-module.patch
Patch59:        0059-99suse-Add-SUSE-specific-initrd-parsing.patch
Patch60:        0060-45ifcfg-Add-SUSE-specific-write-ifcfg-file.patch
Patch61:        0061-45ifcfg-Fixup-error-message-in-write-ifcfg-suse.patch
Patch62:        0062-95iscsi-Install-libgcc_s-library.patch
Patch63:        0063-90multipath-Install-libgcc_s-library.patch
Patch64:        0064-90kernel-modules-install-scsi_dh_alua.patch
Patch65:        0065-95iscsi-Fixup-bnx2i-offload-booting.patch
Patch66:        0066-40network-always-start-netroot-in-ifup.sh.patch
Patch67:        0067-95fcoe-check-always-returns-255.patch
Patch68:        0068-95fcoe-uefi-Test-for-EFI-firmware.patch
Patch69:        0069-81cio_ignore-skip-module-if-cio_ignore-is-not-active.patch
Patch70:        0070-81cio_ignore-rewrite-module.patch
Patch71:        0071-Fix-non-export-of-journal-dev-boot-options.patch
Patch72:        0072-Also-export-root-boot-param-for-hostonly-cmdline-cas.patch
Patch73:        0073-Don-t-create-lots-of-empty-cmdline-files-for-hostonl.patch
Patch74:        0074-More-empty-cmdline-fixes.patch
Patch75:        0075-95dasd_rules-enable-parsing-of-rd.dasd-commandline-p.patch
Patch76:        0076-Correctly-set-cio_ignore-for-dynamic-s390-rules.patch
Patch77:        0077-90multipath-add-missing-11-dm-mpath.rules-file.patch
Patch78:        0078-Restore-original-IFS-value.patch
Patch79:        0079-95dasd_rules-fixup-rd.dasd-parsing.patch
Patch80:        0080-95dasd_rules-print-out-rd.dasd-commandline.patch
Patch81:        0081-95dasd_mod-do-not-set-module-parameters-if-dasd_cio_.patch
Patch82:        0082-00warpclock-check-for-sbin-hwclock.patch
Patch83:        0083-95zfcp_rules-Fixup-rd.zfcp-parsing.patch
Patch84:        0084-95rootfs-block-Correctly-terminate-commandline-param.patch
Patch85:        0085-95zfcp_rules-print-out-rd.zfcp-commandline-parameter.patch
Patch86:        0086-95zfcp_rules-Auto-generate-udev-rule-for-ipl-device.patch
Patch87:        0087-95dasd_rules-Auto-generate-udev-rule-for-ipl-device.patch
Patch88:        0088-91zipl-Add-new-module-to-update-s390x-configuration.patch
Patch89:        0089-40network-create-var-lib-wicked-in-ifup.sh.patch
Patch90:        0090-dracut-caps-Remove-whole-caps-module.patch
Patch91:        0091-dracut-biosdevname-In-SUSE-biosdevname-package-is-in.patch
Patch92:        0092-dracut-nbd-Only-complain-of-missing-binary-in-hoston.patch
Patch93:        0093-95iscsi-generate-commandline-for-software-iscsi.patch
Patch94:        0094-Implement-shortcut-ip-ifname-static-for-static-confi.patch
Patch95:        0095-95iscsi-use-static-configuration-for-software-iscsi.patch
Patch96:        0096-dracut-Fix-error-local-can-only-be-used-in-a-functio.patch
Patch97:        0097-Implement-rd.timeout-to-modify-the-device-timeout.patch
Patch98:        0098-Do-not-call-lvm-for-non-LVM-device-mapper-devices.patch
Patch99:        0099-90multipath-Load-device_handler-modules-early-during.patch
Patch100:       0100-Add-btrfs-rescue-utilities.patch
Patch101:       0101-Print-stored-dracut-commandline-during-initramfs-bui.patch
Patch102:       0102-Align-dev_unit_name-with-systemd-s-function.patch
Patch103:       0103-Fixup-missing-separators-in-rootfs-block-cmdline.patch
Patch104:       0104-Generate-fallback-mount-unit-for-root-filesystem.patch
Patch105:       0105-95iscsi-parse-output-from-iscsiadm-correctly.patch
Patch106:       0106-dracut-Enable-converting-of-directory-var-run-var-lo.patch
Patch107:       0107-Fixup-typo-firmare-instead-of-firmware.patch
Patch108:       0108-91zipl-Store-commandline-correctly.patch
Patch109:       0109-95dasd_rules-Store-all-devices-in-commandline.patch
Patch110:       0110-95zfcp_rules-Store-all-devices-in-commandline.patch
Patch111:       0111-90mdraid-Remove-line-for-offroot-detection.patch
Patch112:       0112-99base-warn-on-invalid-command-for-initqueue.patch
Patch113:       0113-91zipl-Install-script-as-executable.patch
Patch114:       0114-91zipl-Translate-ext2-3-into-ext4.patch
Patch115:       0115-Handle-module-alias-properly.patch
Patch116:       0116-Mark-scripts-as-executable.patch
Patch117:       0117-95dasd_rules-Enable-the-device-before-checking-devic.patch
Patch118:       0118-95zfcp_rules-Enable-the-device-before-checking-devic.patch
Patch119:       0119-Reset-IFS-variable.patch
Patch120:       0120-mkinitrd-suse.sh-Bail-out-with-exit-1-if-initrd-cann.patch
Patch121:       0121-Adjust-initramfs-kernel.img-to-SUSE-default-initrd-k.patch
Patch122:       0122-btrfs-btrfs-dump-super-and-btrfs-select-super-do-not.patch
Patch123:       0123-95zfcp_rules-fix-typo-in-module_setup.patch
Patch124:       0124-40network-Update-iBFT-scanning-code-to-handle-IPv6.patch
Patch125:       0125-40network-separate-mask-and-prefix.patch
Patch126:       0126-01fips-Add-drbg-module-to-force-loaded-modules.patch
Patch127:       0127-99base-Increase-initqueue-timeout-in-non-systemd-cas.patch
Patch128:       0128-90lvm-Install-dm-snapshot-module.patch
Patch129:       0129-Revert-commit-6ecab258710d158a7a6-and-only-do-not-wa.patch
Patch130:       0130-nfs-Always-add-all-kernel-modules-for-kdump.patch
Patch131:       0131-40network-handle-prefixed-IP-addresses-correctly.patch
Patch132:       0132-40network-fixup-static-network-configuration.patch
Patch133:       0133-Allow-multiple-configurations-per-network-interface-.patch
Patch134:       0134-Remove-bootdev-warning-bnc-881112.patch
Patch135:       0135-lvm-Fix-12819a579900b9691e2-check-for-existance-of-6.patch
Patch136:       0136-Revert-95udev-rules-add-persistent-network-rule.patch
Patch137:       0137-Switch-from-Mozilla-NSS-sha256hmac-checking-to-fipsc.patch
Patch138:       0138-warpclock-Do-not-use-warpclock-module-on-S390-x-hwcl.patch
Patch139:       0139-dracut.sh-check-for-logfile-logfile-option-and-creat.patch
Patch140:       0140-dracut.sh-Avoid-duplicate-devices-in-host_devs.patch
Patch141:       0141-iscsi-Avoid-bad-ip-route-call-on-empty-address.patch
Patch142:       0142-40network-Don-t-report-error-for-etc-sysconfig-netwo.patch
Patch143:       0143-iscsi-Fix-up-ipv6-in-brackets-iterate-over-all-possi.patch
Patch144:       0144-90crypt-Fixed-crypttab_contains-to-also-work-with-de.patch
Patch145:       0145-40network-handle-ip-ifname-static-correctly.patch
Patch146:       0146-dracut.sh-corrected-logfile-check.patch
Patch147:       0147-dracut.sh-Fix-UUID-fstab-parsing-in-case-mount-optio.patch
Patch148:       0148-dracut.sh-Fix-LABEL-and-other-fstab-syntax.patch
Patch149:       0149-dracut.sh-Fix-fstab-parsing-again.patch
Patch150:       0150-Find-kernel-modules-in-extra-and-weak-updates-path-a.patch
Patch151:       0151-Go-back-to-xz-again-pixz-may-use-too-much-memory-whi.patch
Patch152:       0152-Add-a-comment-to-easily-add-debug-modules-also-add-v.patch
Patch153:       0153-Only-add-network-module-on-request-and-on-dependenci.patch
Patch154:       0154-resume-Also-allow-this-module-on-S390-again-s2disk-c.patch
Patch155:       0155-iscsi-iscsi.initiator-and-others-can-and-must-only-s.patch
Patch156:       0156-dracut.usage.asc-Remove-distro-specific-help-from-ma.patch
Patch157:       0157-Add-boot-zipl-to-host-devs-if-it-is-a-mount-point.patch
Patch158:       0158-Add-SUSE-kernel-module-dependencies-in-etc-modprobe..patch
Patch159:       0159-network-Try-to-load-xennet.patch
Patch160:       0160-nfs-Add-ip-.-and-root-nfs.-parameters-to-internal-dr.patch
Patch161:       0161-Fix-error-message-when-there-are-no-internal-kernel-.patch
Patch162:       0162-network-Request-DHCP-lease-instead-of-getting-applyi.patch
Patch163:       0163-Install-etc-sysconfig-console-to-see-specific-fonts.patch
Patch164:       0164-Fix-initramfs-ver.img-vs-initrd-ver-in-dracut-initra.patch
Patch165:       0165-Order-root-fsck-after-pre-mount.patch
Patch166:       0166-nfs-Add-ifname-dev-mac-to-boot-parameters.patch
Patch167:       0167-98systemd-rootfs-generator-Use-builtins-instead-of-g.patch
Patch169:       0169-Enabled-Warning-for-failed-kernel-modules-per-defaul.patch
Patch171:       0171-also-add-the-cmac.ko-cryptographic-module-to-the-mod.patch
Patch172:       0172-i18n_add_correct_fontmaps.patch
Patch173:       0173-Follow-symbolic-links-for-kernel-arguments-bnc-90237.patch
Patch174:       0174-fips-enable-aesni-interl.patch
Patch175:       0175-dracut-Fix-bad-array-subscript-messages.patch
Patch177:       0177-90multipath-start-multipathd-after-udev.patch
Patch178:       0178-Restore-handling-of-c.patch
Patch179:       0179-qemu-add-virtio_rng-kernel-module.patch
Patch180:       0180-iscsi_multipath_fixes.patch
Patch181:       0181-iscsi_set_boot_protocol_from_ifcfg.patch
Patch182:       0182-s390-update_active_devices_initrd.patch

Patch200:       0200-fix_nfs_with_ip_instead_of_hostname.patch

Patch210:       0210-do_not_fall_back_into_root_shell_on_error.patch
Patch220:       s390_dasd_install_collect.patch

Patch300:       0300-mdraid_tell_mainloop_if_we_make_progress.patch
Patch301:       0301-systemd_initqueue_continue_waiting_if_any_timeout_script_makes_progress.patch
Patch302:       0302-dracut-systemd_rootfs-generator.sh_always_create_generated_files.patch
Patch303:       0303-crypt_parse-crypt.sh_hide_encrypted_devices_from_systemd_timeout_warnings.patch
Patch304:       0304-dmraid_use_udev.patch

BuildRequires:  asciidoc
BuildRequires:  bash
BuildRequires:  docbook-xsl-stylesheets
BuildRequires:  libxslt
BuildRequires:  suse-module-tools
BuildRequires:  pkgconfig(systemd) >= 199
Requires:       bash
Requires:       coreutils
Requires:       cpio
Requires:       file
Requires:       filesystem
Requires:       findutils
Requires:       grep
Requires:       hardlink
Requires:       modutils
Requires:       pigz
Requires:       sed
Requires:       systemd >= 200
# systemd-sysvinit provides: poweroff, reboot, halt
Requires:       systemd-sysvinit
Requires:       udev > 166
Requires:       util-linux >= 2.21
Requires:       xz
Recommends:     binutils
Recommends:     logrotate
Obsoletes:      mkinitrd < 2.8.2
Provides:       mkinitrd = 2.8.2
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%{?systemd_requires}

%description
Dracut contains tools to create a bootable initramfs for 2.6 Linux kernels.
Unlike existing implementations, dracut does hard-code as little as possible
into the initramfs. Dracut contains various modules which are driven by the
event-based udev. Having root on MD, DM, LVM2, LUKS is supported as well as
NFS, iSCSI, NBD, FCoE with the dracut-network package.

%package fips
Summary:        Dracut modules to build a dracut initramfs with an integrity check
Group:          System/Base
Requires:       %{name} = %{version}-%{release}
Requires:       fipscheck
Requires:       libcryptsetup4-hmac
Requires:       libgcrypt20-hmac

%description fips
This package requires everything which is needed to build an
initramfs with dracut, which does an integrity check of the kernel
and its cryptography during startup.

%prep
%setup -q
%patch1 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
%patch63 -p1
%patch64 -p1
%patch65 -p1
%patch66 -p1
%patch67 -p1
%patch68 -p1
%patch69 -p1
%patch70 -p1
%patch71 -p1
%patch72 -p1
%patch73 -p1
%patch74 -p1
%patch75 -p1
%patch76 -p1
%patch77 -p1
%patch78 -p1
%patch79 -p1
%patch80 -p1
%patch81 -p1
%patch82 -p1
%patch83 -p1
%patch84 -p1
%patch85 -p1
%patch86 -p1
%patch87 -p1
%patch88 -p1
%patch89 -p1
%patch90 -p1
%patch91 -p1
%patch92 -p1
%patch93 -p1
%patch94 -p1
%patch95 -p1
%patch96 -p1
%patch97 -p1
%patch98 -p1
%patch99 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch105 -p1
%patch106 -p1
%patch107 -p1
%patch108 -p1
%patch109 -p1
%patch110 -p1
%patch111 -p1
%patch112 -p1
%patch113 -p1
%patch114 -p1
%patch115 -p1
%patch116 -p1
%patch117 -p1
%patch118 -p1
%patch119 -p1
%patch120 -p1
%patch121 -p1
%patch122 -p1
%patch123 -p1
%patch124 -p1
%patch125 -p1
%patch126 -p1
%patch127 -p1
%patch128 -p1
%patch129 -p1
%patch130 -p1
%patch131 -p1
%patch132 -p1
%patch133 -p1
%patch134 -p1
%patch135 -p1
%patch136 -p1
%patch137 -p1
%patch138 -p1
%patch139 -p1
%patch140 -p1
%patch141 -p1
%patch142 -p1
%patch143 -p1
%patch144 -p1
%patch145 -p1
%patch146 -p1
%patch147 -p1
%patch148 -p1
%patch149 -p1
%patch150 -p1
%patch151 -p1
%patch152 -p1
%patch153 -p1
%patch154 -p1
%patch155 -p1
%patch156 -p1
%patch157 -p1
%patch158 -p1
%patch159 -p1
%patch160 -p1
%patch161 -p1
%patch162 -p1
%patch163 -p1
%patch164 -p1
%patch165 -p1
%patch166 -p1
%patch167 -p1
%patch169 -p1
%patch171 -p1
%patch172 -p1
%patch173 -p1
%patch174 -p1
%patch175 -p1
%patch177 -p1
%patch178 -p1
%patch179 -p1
%patch180 -p1
%patch181 -p1
%patch182 -p1

%patch200 -p1

%patch210 -p1
%patch220 -p1

%patch300 -p1
%patch301 -p1
%patch302 -p1
%patch303 -p1
%patch304 -p1

%build
%configure\
  --systemdsystemunitdir=%{_unitdir}\
  --bashcompletiondir=%{_sysconfdir}/bash_completion.d\
  --libdir=%{_prefix}/lib
make all -e CFLAGS="%{optflags}" %{?_smp_mflags}

%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}

echo -e "#!/bin/bash\nDRACUT_VERSION=%{version}-%{release}" > %{buildroot}/%{dracutlibdir}/dracut-version.sh

# we do not support dash in the initramfs
rm -fr %{buildroot}/%{dracutlibdir}/modules.d/00dash
rm -fr %{buildroot}/%{dracutlibdir}/modules.d/05busybox
rm -fr %{buildroot}/%{dracutlibdir}/modules.d/00bootchart

# remove gentoo specific modules
rm -fr %{buildroot}%{dracutlibdir}/modules.d/50gensplash

# IMA modules are not supported currently.
rm -fr %{buildroot}/%{dracutlibdir}/modules.d/96securityfs
rm -fr %{buildroot}/%{dracutlibdir}/modules.d/97masterkey
rm -fr %{buildroot}/%{dracutlibdir}/modules.d/98integrity

mkdir -p %{buildroot}/boot/dracut
mkdir -p %{buildroot}%{_localstatedir}/lib/dracut/overlay
mkdir -p %{buildroot}%{_localstatedir}/log
touch %{buildroot}%{_localstatedir}/log/dracut.log

install -m 0644 dracut.conf.d/suse.conf.example   %{buildroot}%{_sysconfdir}/dracut.conf.d/01-dist.conf

install -m 0644 dracut.conf.d/fips.conf.example %{buildroot}%{_sysconfdir}/dracut.conf.d/40-fips.conf

%ifarch %ix86 x86_64
echo 'early_microcode="yes"' > %{buildroot}%{_sysconfdir}/dracut.conf.d/02-early-microcode.conf
%endif
rm %{buildroot}%{_bindir}/mkinitrd
# moved to /sbin
mkdir -p %{buildroot}/sbin
install -m 0755 mkinitrd-suse.sh %{buildroot}/sbin/mkinitrd
mv %{buildroot}%{_mandir}/man8/mkinitrd-suse.8 %{buildroot}%{_mandir}/man8/mkinitrd.8
install -m 0755 %{SOURCE3} %{buildroot}/sbin/mkinitrd_setup

mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
install -m 0644 dracut.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/dracut

install -D -m 0755 %{SOURCE4} %{buildroot}/sbin/purge-kernels
install -m 644 %{SOURCE5} %{buildroot}/%{_unitdir}/purge-kernels.service

install -D -m 0755 %{SOURCE6} %{buildroot}/sbin/installkernel

%if 0%{?suse_version}
rm -f %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh
ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-suse.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh
%else
mv %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh
ln -s %{dracutlibdir}/modules.d/45ifcfg/write-ifcfg-redhat.sh %{buildroot}/%{dracutlibdir}/modules.d/45ifcfg/write-ifcfg.sh
%endif

%pre
%service_add_pre purge-kernels.service

%post
%service_add_post purge-kernels.service
%{?regenerate_initrd_post}

%post fips
%{?regenerate_initrd_post}

%preun
%service_del_preun purge-kernels.service

%postun
%service_del_postun purge-kernels.service
%{?regenerate_initrd_post}

%postun fips
%{?regenerate_initrd_post}

%posttrans
%{?regenerate_initrd_posttrans}

%posttrans fips
%{?regenerate_initrd_posttrans}

%files fips
%defattr(-,root,root,0755)
%doc COPYING
%config %{_sysconfdir}/dracut.conf.d/40-fips.conf
%{dracutlibdir}/modules.d/01fips
%{dracutlibdir}/modules.d/02fips-aesni

%files
%defattr(-,root,root,0755)
%doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg
%{_bindir}/dracut
%{_bindir}/dracut-catimages
%{_bindir}/lsinitrd
/sbin/purge-kernels
/sbin/installkernel
/sbin/mkinitrd
/sbin/mkinitrd_setup
%config %{_sysconfdir}/bash_completion.d/lsinitrd
%dir %{dracutlibdir}
%dir %{dracutlibdir}/modules.d
%{dracutlibdir}/skipcpio
%{dracutlibdir}/dracut-functions.sh
%{dracutlibdir}/dracut-functions
%{dracutlibdir}/dracut-version.sh
%{dracutlibdir}/dracut-logger.sh
%{dracutlibdir}/dracut-initramfs-restore
%{dracutlibdir}/dracut-install
%config(noreplace) %{_sysconfdir}/dracut.conf
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel}
%config %{_sysconfdir}/dracut.conf.d/01-dist.conf
%endif
%ifarch %ix86 x86_64
%config %{_sysconfdir}/dracut.conf.d/02-early-microcode.conf
%endif
%dir %{_sysconfdir}/dracut.conf.d
%{_mandir}/man8/dracut.8*
%{_mandir}/man8/mkinitrd.8*
%{_mandir}/man1/lsinitrd.1*
%{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.cmdline.7*
%{_mandir}/man7/dracut.bootup.7*
%{_mandir}/man7/dracut.modules.7*
%{_mandir}/man8/dracut-cmdline.service.8*
%{_mandir}/man8/dracut-initqueue.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-mount.service.8.*
%{_mandir}/man8/dracut-pre-mount.service.8.*
%{_mandir}/man8/dracut-shutdown.service.8.*
%{_mandir}/man5/dracut.conf.5*
%{_mandir}/man8/dracut-catimages.8*
%dir %{_libexecdir}/kernel
%dir %{_libexecdir}/kernel/install.d
%{_libexecdir}/kernel/install.d/50-dracut.install
%{_libexecdir}/kernel/install.d/51-dracut-rescue.install
%dir %{dracutlibdir}/modules.d/00systemd-bootchart
%dir %{dracutlibdir}/modules.d/03rescue
%{dracutlibdir}/modules.d/00bash
%{dracutlibdir}/modules.d/00systemd-bootchart/module-setup.sh
%{dracutlibdir}/modules.d/00warpclock
%{dracutlibdir}/modules.d/03modsign
%{dracutlibdir}/modules.d/03rescue/module-setup.sh
%{dracutlibdir}/modules.d/04watchdog
%{dracutlibdir}/modules.d/10i18n
%{dracutlibdir}/modules.d/30convertfs
%{dracutlibdir}/modules.d/40network
%{dracutlibdir}/modules.d/45url-lib
%{dracutlibdir}/modules.d/45ifcfg
%{dracutlibdir}/modules.d/50drm
%{dracutlibdir}/modules.d/50plymouth
%{dracutlibdir}/modules.d/80cms
%{dracutlibdir}/modules.d/81cio_ignore
%{dracutlibdir}/modules.d/90livenet
%{dracutlibdir}/modules.d/90qemu-net
%{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/90qemu
%{dracutlibdir}/modules.d/91crypt-gpg
%{dracutlibdir}/modules.d/91crypt-loop
%{dracutlibdir}/modules.d/91zipl
%{dracutlibdir}/modules.d/95znet
%{dracutlibdir}/modules.d/95fcoe-uefi
%{dracutlibdir}/modules.d/95nbd
%{dracutlibdir}/modules.d/95nfs
%{dracutlibdir}/modules.d/95ssh-client
%{dracutlibdir}/modules.d/95fcoe
%{dracutlibdir}/modules.d/95iscsi
%{dracutlibdir}/modules.d/95cifs
%{dracutlibdir}/modules.d/95debug
%{dracutlibdir}/modules.d/95resume
%{dracutlibdir}/modules.d/95rootfs-block
%{dracutlibdir}/modules.d/95dcssblk
%{dracutlibdir}/modules.d/95dasd
%{dracutlibdir}/modules.d/95dasd_mod
%{dracutlibdir}/modules.d/95dasd_rules
%{dracutlibdir}/modules.d/95fstab-sys
%{dracutlibdir}/modules.d/95zfcp
%{dracutlibdir}/modules.d/95zfcp_rules
%{dracutlibdir}/modules.d/95terminfo
%{dracutlibdir}/modules.d/95udev-rules
%{dracutlibdir}/modules.d/95virtfs
%{dracutlibdir}/modules.d/97biosdevname
%{dracutlibdir}/modules.d/98ecryptfs
%{dracutlibdir}/modules.d/98pollcdrom
%{dracutlibdir}/modules.d/98selinux
%{dracutlibdir}/modules.d/98syslog
%{dracutlibdir}/modules.d/98systemd
%{dracutlibdir}/modules.d/98usrmount
%{dracutlibdir}/modules.d/99base
%{dracutlibdir}/modules.d/99fs-lib
%{dracutlibdir}/modules.d/99img-lib
%{dracutlibdir}/modules.d/99shutdown
%{dracutlibdir}/modules.d/99suse
%{dracutlibdir}/modules.d/99uefi-lib

# executable fixups
%attr(0755,root,root) %{dracutlibdir}/modules.d/95dcssblk/parse-dcssblk.sh
%attr(0755,root,root) %{dracutlibdir}/modules.d/95dcssblk/module-setup.sh
%attr(0755,root,root) %{dracutlibdir}/modules.d/99suse/parse-suse-initrd.sh
%attr(0755,root,root) %{dracutlibdir}/modules.d/99suse/module-setup.sh
%attr(0755,root,root) %{dracutlibdir}/modules.d/30convertfs/convertrunfs.sh
%attr(0755,root,root) %{dracutlibdir}/modules.d/00warpclock/warpclock.sh

%config(noreplace) %{_sysconfdir}/logrotate.d/dracut
%attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
%if %{defined _unitdir}
%dir %{_unitdir}/initrd.target.wants
%{_unitdir}/*.service
%{_unitdir}/*/*.service
%endif
%config %{_sysconfdir}/bash_completion.d/dracut
%dir /boot/dracut
%dir %{_localstatedir}/lib/dracut
%dir %{_localstatedir}/lib/dracut/overlay

%changelog