2011-11-23 12:42:10 +04:00
%define dracutlibdir %{_prefix}/lib/dracut
2010-01-14 20:11:52 +03:00
# Variables must be defined
2010-03-19 17:16:48 +03:00
%define with_nbd 1
2009-10-26 17:36:23 +03:00
2010-01-14 20:11:52 +03:00
# nbd in Fedora only
%if 0%{?rhel} >= 6
%define with_nbd 0
2009-07-01 16:40:45 +04:00
%endif
Name : dracut
2011-05-31 18:34:37 +04:00
Version : xxx
Release : xxx
2010-10-25 19:23:28 +04:00
2008-12-19 22:44:38 +03:00
Summary : Initramfs generator using udev
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel}
2011-05-10 13:39:10 +04:00
Group : System Environment/Base
2010-10-25 19:23:28 +04:00
%endif
2010-10-29 18:57:52 +04:00
%if 0%{?suse_version}
2010-10-25 19:23:28 +04:00
Group : System/Base
%endif
2011-05-10 13:39:10 +04:00
License : GPLv2+
2011-03-31 20:45:49 +04:00
URL : https://dracut.wiki.kernel.org/
2011-05-10 13:39:10 +04:00
# Source can be generated by
2011-05-31 18:34:37 +04:00
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
Source0 : http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version} .tar.bz2
2011-03-31 20:45:49 +04:00
2010-10-25 19:23:28 +04:00
BuildArch : noarch
2011-10-21 14:35:07 +04:00
BuildRequires : dash bash git
2012-02-10 12:37:18 +04:00
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel}
2008-12-19 22:44:38 +03:00
BuildRoot : %{_tmppath} /%{name} -%{version} -%{release} -root-%(%{__id_u} -n)
2010-10-25 19:23:28 +04:00
%endif
2010-10-29 18:57:52 +04:00
%if 0%{?suse_version}
2010-10-25 19:23:28 +04:00
BuildRoot : %{_tmppath} /%{name} -%{version} -build
%endif
2010-10-25 14:53:28 +04:00
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel}
2010-10-25 14:53:28 +04:00
BuildRequires : docbook-style-xsl docbook-dtds libxslt
%endif
2010-10-29 18:57:52 +04:00
%if 0%{?suse_version}
2012-03-14 18:19:39 +04:00
-BuildRequires: docbook-xsl-stylesheets libxslt
2010-10-25 14:53:28 +04:00
%endif
2010-01-13 16:16:49 +03:00
2012-03-14 18:19:39 +04:00
BuildRequires : asciidoc
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} > 12 || 0%{?rhel}
2010-01-14 17:54:17 +03:00
# no "provides", because dracut does not offer
# all functionality of the obsoleted packages
2010-01-13 16:16:49 +03:00
Obsoletes : mkinitrd <= 6.0.93
Obsoletes : mkinitrd-devel <= 6.0.93
Obsoletes : nash <= 6.0.93
2010-01-14 17:54:17 +03:00
Obsoletes : libbdevid-python <= 6.0.93
2010-01-15 12:25:44 +03:00
%endif
2010-10-25 19:23:28 +04:00
2012-02-10 12:37:18 +04:00
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
BuildRequires : systemd-units
%endif
2010-10-25 19:23:28 +04:00
%if 0%{?suse_version} > 9999
Obsoletes : mkinitrd < 2.6.1
Provides : mkinitrd = 2.6.1
%endif
2010-03-19 17:11:41 +03:00
Obsoletes : dracut-kernel < 005
Provides : dracut-kernel = %{version} -%{release}
2010-01-13 16:16:49 +03:00
2010-05-07 13:04:23 +04:00
Requires : bash
2008-12-19 22:44:38 +03:00
Requires : coreutils
2010-05-07 13:04:23 +04:00
Requires : cpio
Requires : filesystem >= 2.1.0
2008-12-19 22:44:38 +03:00
Requires : findutils
Requires : grep
2012-02-25 19:40:38 +04:00
Requires : hardlink
2012-04-05 15:49:31 +04:00
Requires : gzip xz
2010-05-07 13:04:23 +04:00
Requires : module-init-tools >= 3.7-9
Requires : sed
2012-05-07 18:28:44 +04:00
Requires : file
2012-03-20 16:30:42 +04:00
Requires : udev > 166
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel} > 6
2012-03-20 16:30:42 +04:00
Requires : util-linux >= 2.21
2012-02-22 22:51:55 +04:00
%else
2012-03-20 16:30:42 +04:00
Requires : util-linux-ng >= 2.21
2012-02-22 22:51:55 +04:00
%endif
2010-10-25 14:53:28 +04:00
2011-08-29 15:11:49 +04:00
%if 0%{?fedora} || 0%{?rhel} > 6
2011-12-09 13:28:40 +04:00
Conflicts : initscripts < 8.63-1
Conflicts : plymouth < 0.8.0-0.2009.29.09.19.1
2010-10-25 14:53:28 +04:00
%endif
2008-12-19 22:44:38 +03:00
%description
2011-05-10 13:39:10 +04:00
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
2010-03-19 17:15:17 +03:00
NFS, iSCSI, NBD, FCoE with the dracut-network package.
2008-12-19 22:44:38 +03:00
2009-08-31 14:30:59 +04:00
%package network
2009-11-13 12:26:50 +03:00
Summary : Dracut modules to build a dracut initramfs with network support
2009-06-19 15:43:06 +04:00
Requires : %{name} = %{version} -%{release}
2010-10-29 17:22:59 +04:00
Obsoletes : dracut-generic < 008
Provides : dracut-generic = %{version} -%{release}
2009-08-31 14:30:59 +04:00
%description network
This package requires everything which is needed to build a generic
all purpose initramfs with network support with dracut.
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel} >= 6
2009-11-23 14:28:20 +03:00
%package fips
2010-03-19 17:15:17 +03:00
Summary : Dracut modules to build a dracut initramfs with an integrity check
2009-11-23 14:28:20 +03:00
Requires : %{name} = %{version} -%{release}
Requires : hmaccalc
%if 0%{?rhel} > 5
# For Alpha 3, we want nss instead of nss-softokn
Requires : nss
%else
Requires : nss-softokn
%endif
Requires : nss-softokn-freebl
%description fips
This package requires everything which is needed to build an
all purpose initramfs with dracut, which does an integrity check.
2010-10-25 19:23:28 +04:00
%endif
2009-07-22 14:43:26 +04:00
2011-09-23 16:12:06 +04:00
%package fips-aesni
Summary : Dracut modules to build a dracut initramfs with an integrity check with aesni-intel
Requires : %{name} -fips = %{version} -%{release}
%description fips-aesni
This package requires everything which is needed to build an
2012-02-22 22:51:55 +04:00
all purpose initramfs with dracut, which does an integrity check
2011-09-23 16:12:06 +04:00
and adds the aesni-intel kernel module.
2011-03-10 21:22:40 +03:00
%package caps
Summary : Dracut modules to build a dracut initramfs which drops capabilities
Requires : %{name} = %{version} -%{release}
Requires : libcap
%description caps
This package requires everything which is needed to build an
all purpose initramfs with dracut, which drops capabilities.
2009-07-24 15:15:43 +04:00
%package tools
2009-11-13 12:26:50 +03:00
Summary : Dracut tools to build the local initramfs
2010-07-09 13:19:57 +04:00
Requires : %{name} = %{version} -%{release}
2009-07-24 15:15:43 +04:00
%description tools
This package contains tools to assemble the local initrd and host configuration.
2008-12-19 22:44:38 +03:00
%prep
2011-05-31 18:34:37 +04:00
%setup -q -n %{name} -%{version}
2011-12-15 11:57:58 +04:00
%if %{defined PATCH1}
2011-10-21 14:35:07 +04:00
git init
git config user.email " d r a c u t - m a i n t @ r e d h a t . c o m "
git config user.name " F e d o r a d r a c u t t e a m "
git add .
git commit -a -q -m " %{version} b a s e l i n e . "
# Apply all the patches.
git am -p1 %{patches}
2011-12-15 11:57:58 +04:00
%endif
2008-12-19 22:44:38 +03:00
%build
2012-03-14 18:19:39 +04:00
make all
2008-12-19 22:44:38 +03:00
%install
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel}
2008-12-19 22:44:38 +03:00
rm -rf $RPM_BUILD_ROOT
2010-10-25 19:23:28 +04:00
%endif
2011-11-23 12:42:10 +04:00
make install DESTDIR=$RPM_BUILD_ROOT \
libdir=%{_prefix} /lib \
2011-11-23 12:29:50 +04:00
bindir=%{_bindir} \
2012-02-22 22:51:55 +04:00
%if %{defined _unitdir}
systemdsystemunitdir=%{_unitdir} \
%endif
sysconfdir=/etc mandir=%{_mandir}
2008-12-19 22:44:38 +03:00
2011-11-23 12:42:10 +04:00
echo %{name} -%{version} -%{release} > $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/10rpmversion/dracut-version
2010-10-25 19:23:28 +04:00
2011-08-29 15:11:49 +04:00
%if 0%{?fedora} == 0 && 0%{?rhel} == 0
2011-11-23 12:42:10 +04:00
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/01fips
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/02fips-aesni
2010-10-25 19:23:28 +04:00
%endif
2010-08-09 18:06:02 +04:00
# remove gentoo specific modules
2011-11-23 12:42:10 +04:00
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/50gensplash
2009-09-16 11:44:59 +04:00
2012-04-17 14:12:56 +04:00
%if %{defined _unitdir}
# with systemd IMA and selinux modules do not make sense
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/96securityfs
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/97masterkey
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/98integrity
rm -fr $RPM_BUILD_ROOT /%{dracutlibdir} /modules.d/98selinux
%endif
2009-07-24 15:15:43 +04:00
mkdir -p $RPM_BUILD_ROOT /boot/dracut
mkdir -p $RPM_BUILD_ROOT /var/lib/dracut/overlay
2009-10-06 17:24:31 +04:00
mkdir -p $RPM_BUILD_ROOT %{_localstatedir} /log
touch $RPM_BUILD_ROOT %{_localstatedir} /log/dracut.log
2011-02-23 15:21:07 +03:00
mkdir -p $RPM_BUILD_ROOT %{_sharedstatedir} /initramfs
2009-07-24 15:15:43 +04:00
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel}
2010-10-25 14:53:28 +04:00
install -m 0644 dracut.conf.d/fedora.conf.example $RPM_BUILD_ROOT /etc/dracut.conf.d/01-dist.conf
2011-03-10 23:34:06 +03:00
install -m 0644 dracut.conf.d/fips.conf.example $RPM_BUILD_ROOT /etc/dracut.conf.d/40-fips.conf
2010-10-25 14:53:28 +04:00
%endif
2010-10-29 18:57:52 +04:00
%if 0%{?suse_version}
2010-10-25 14:53:28 +04:00
install -m 0644 dracut.conf.d/suse.conf.example $RPM_BUILD_ROOT /etc/dracut.conf.d/01-dist.conf
%endif
2010-10-25 19:23:28 +04:00
%if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999
2011-11-23 12:29:50 +04:00
rm $RPM_BUILD_ROOT %{_bindir} /mkinitrd
rm $RPM_BUILD_ROOT %{_bindir} /lsinitrd
2010-01-15 12:25:44 +03:00
%endif
2011-07-18 18:31:55 +04:00
mkdir -p $RPM_BUILD_ROOT /etc/logrotate.d
install -m 0644 dracut.logrotate $RPM_BUILD_ROOT /etc/logrotate.d/dracut_log
2011-03-07 15:11:25 +03:00
2012-01-26 19:39:09 +04:00
# create compat symlink
mkdir -p $RPM_BUILD_ROOT /sbin
ln -s /usr/bin/dracut $RPM_BUILD_ROOT /sbin/dracut
2012-01-26 15:41:03 +04:00
2008-12-19 22:44:38 +03:00
%clean
rm -rf $RPM_BUILD_ROOT
%files
2009-06-19 15:43:06 +04:00
%defattr (-,root,root,0755)
2010-12-02 19:12:33 +03:00
%doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg
2011-11-23 12:29:50 +04:00
%{_bindir} /dracut
2012-01-26 19:39:09 +04:00
# compat symlink
/sbin/dracut
2010-10-25 19:23:28 +04:00
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
2011-11-23 12:29:50 +04:00
%{_bindir} /mkinitrd
%{_bindir} /lsinitrd
2010-01-15 12:25:44 +03:00
%endif
2011-11-23 12:42:10 +04:00
%dir %{dracutlibdir}
%dir %{dracutlibdir} /modules.d
2012-02-22 13:14:17 +04:00
%{dracutlibdir} /dracut-functions.sh
2012-02-23 15:26:16 +04:00
%{dracutlibdir} /dracut-functions
2012-05-22 16:28:34 +04:00
%{dracutlibdir} /dracut-version.sh
2012-02-22 13:14:17 +04:00
%{dracutlibdir} /dracut-logger.sh
2012-02-10 14:14:42 +04:00
%{dracutlibdir} /dracut-initramfs-restore
2009-03-05 12:36:08 +03:00
%config (noreplace) /etc/dracut.conf
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel}
2011-07-20 14:39:58 +04:00
%config /etc/dracut.conf.d/01-dist.conf
2010-10-25 14:53:28 +04:00
%endif
2010-02-12 13:12:37 +03:00
%dir /etc/dracut.conf.d
2009-06-17 17:41:44 +04:00
%{_mandir} /man8/dracut.8*
2010-08-09 18:12:23 +04:00
%{_mandir} /man7/dracut.kernel.7*
2011-12-15 11:50:48 +04:00
%{_mandir} /man7/dracut.cmdline.7*
2009-11-27 12:53:28 +03:00
%{_mandir} /man5/dracut.conf.5*
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/00bootchart
%{dracutlibdir} /modules.d/00dash
%{dracutlibdir} /modules.d/05busybox
%{dracutlibdir} /modules.d/10i18n
%{dracutlibdir} /modules.d/10rpmversion
2012-02-03 14:56:15 +04:00
%{dracutlibdir} /modules.d/30convertfs
2012-02-15 20:59:46 +04:00
%{dracutlibdir} /modules.d/45url-lib
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/50plymouth
2012-04-03 20:53:30 +04:00
%{dracutlibdir} /modules.d/80cms
2011-11-23 12:42:10 +04:00
%{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
2012-04-15 04:40:17 +04:00
%{dracutlibdir} /modules.d/95virtfs
2012-04-17 14:12:56 +04:00
%if %{undefined _unitdir}
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/96securityfs
%{dracutlibdir} /modules.d/97masterkey
2012-04-17 14:12:56 +04:00
%{dracutlibdir} /modules.d/98selinux
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/98integrity
2012-04-17 14:12:56 +04:00
%endif
%{dracutlibdir} /modules.d/97biosdevname
%{dracutlibdir} /modules.d/98ecryptfs
2012-03-08 16:40:21 +04:00
%{dracutlibdir} /modules.d/98pollcdrom
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/98syslog
2012-05-09 17:13:28 +04:00
%{dracutlibdir} /modules.d/98systemd
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/98usrmount
%{dracutlibdir} /modules.d/99base
%{dracutlibdir} /modules.d/99fs-lib
2012-02-15 20:59:46 +04:00
%{dracutlibdir} /modules.d/99img-lib
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/99shutdown
2011-07-18 18:31:55 +04:00
%config (noreplace) /etc/logrotate.d/dracut_log
2009-10-06 17:24:31 +04:00
%attr (0644,root,root) %ghost %config (missingok,noreplace) %{_localstatedir} /log/dracut.log
2011-02-23 15:21:07 +03:00
%dir %{_sharedstatedir} /initramfs
2012-02-22 22:51:55 +04:00
%if %{defined _unitdir}
2012-02-10 12:37:18 +04:00
%{_unitdir} /*.service
2012-05-16 13:28:42 +04:00
%{_unitdir} /*.target
2012-02-10 12:37:18 +04:00
%{_unitdir} /*/*.service
%endif
2009-08-31 14:30:59 +04:00
%files network
2009-06-19 15:43:06 +04:00
%defattr (-,root,root,0755)
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/40network
%{dracutlibdir} /modules.d/95fcoe
%{dracutlibdir} /modules.d/95iscsi
%{dracutlibdir} /modules.d/90livenet
%{dracutlibdir} /modules.d/95nbd
%{dracutlibdir} /modules.d/95nfs
2012-01-10 07:42:33 +04:00
%{dracutlibdir} /modules.d/95ssh-client
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/45ifcfg
%{dracutlibdir} /modules.d/95znet
2009-06-19 15:43:06 +04:00
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel}
2009-11-23 14:28:20 +03:00
%files fips
%defattr (-,root,root,0755)
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/01fips
2011-03-10 23:34:06 +03:00
%config (noreplace) /etc/dracut.conf.d/40-fips.conf
2010-10-25 19:23:28 +04:00
%endif
2009-08-31 14:30:59 +04:00
2011-09-23 16:12:06 +04:00
%files fips-aesni
%defattr (-,root,root,0755)
%doc COPYING
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/02fips-aesni
2011-09-23 16:12:06 +04:00
2011-03-10 21:22:40 +03:00
%files caps
%defattr (-,root,root,0755)
2011-11-23 12:42:10 +04:00
%{dracutlibdir} /modules.d/02caps
2011-03-10 21:22:40 +03:00
2011-05-10 13:39:10 +04:00
%files tools
2009-07-24 15:15:43 +04:00
%defattr (-,root,root,0755)
2010-01-12 16:51:17 +03:00
%{_mandir} /man8/dracut-catimages.8*
2011-11-23 12:29:50 +04:00
%{_bindir} /dracut-catimages
2009-07-24 15:15:43 +04:00
%dir /boot/dracut
%dir /var/lib/dracut
%dir /var/lib/dracut/overlay
2008-12-19 22:44:38 +03:00
%changelog