dracut/dracut.spec

330 lines
9.1 KiB
RPMSpec
Raw Normal View History

%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
%endif
Name: dracut
2011-05-31 18:34:37 +04:00
Version: xxx
Release: xxx
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
%endif
%if 0%{?suse_version}
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
BuildArch: noarch
BuildRequires: dash bash git
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)
%endif
%if 0%{?suse_version}
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
%if 0%{?suse_version}
2010-10-25 14:53:28 +04:00
BuildRequires: docbook-xsl-stylesheets libxslt
%endif
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} > 12 || 0%{?rhel}
# no "provides", because dracut does not offer
# all functionality of the obsoleted packages
Obsoletes: mkinitrd <= 6.0.93
Obsoletes: mkinitrd-devel <= 6.0.93
Obsoletes: nash <= 6.0.93
Obsoletes: libbdevid-python <= 6.0.93
%endif
%if 0%{?fedora} > 16 || 0%{?rhel} > 6
BuildRequires: systemd-units
%endif
%if 0%{?suse_version} > 9999
Obsoletes: mkinitrd < 2.6.1
Provides: mkinitrd = 2.6.1
%endif
Obsoletes: dracut-kernel < 005
Provides: dracut-kernel = %{version}-%{release}
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
2010-05-07 13:04:23 +04:00
Requires: gzip
Requires: module-init-tools >= 3.7-9
Requires: sed
Requires: udev
2012-02-22 22:51:55 +04:00
%if 0%{?fedora} || 0%{?rhel} > 6
Requires: util-linux >= 2.20
2012-02-22 22:51:55 +04:00
%else
Requires: util-linux-ng >= 2.17.2
%endif
2010-10-25 14:53:28 +04:00
%if 0%{?fedora} || 0%{?rhel} > 6
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
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}
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
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.
%endif
%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
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}
%if %{defined PATCH1}
git init
git config user.email "dracut-maint@redhat.com"
git config user.name "Fedora dracut team"
git add .
git commit -a -q -m "%{version} baseline."
# Apply all the patches.
git am -p1 %{patches}
%endif
2008-12-19 22:44:38 +03:00
%build
2011-05-10 13:39:10 +04:00
make
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
%endif
make install DESTDIR=$RPM_BUILD_ROOT \
libdir=%{_prefix}/lib \
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
echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/10rpmversion/dracut-version
%if 0%{?fedora} == 0 && 0%{?rhel} == 0
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
%endif
# remove gentoo specific modules
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
2009-07-24 15:15:43 +04:00
mkdir -p $RPM_BUILD_ROOT/boot/dracut
mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
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
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
%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
%if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999
rm $RPM_BUILD_ROOT%{_bindir}/mkinitrd
rm $RPM_BUILD_ROOT%{_bindir}/lsinitrd
%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
# create compat symlink
mkdir -p $RPM_BUILD_ROOT/sbin
ln -s /usr/bin/dracut $RPM_BUILD_ROOT/sbin/dracut
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
%{_bindir}/dracut
# compat symlink
/sbin/dracut
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
%{_bindir}/mkinitrd
%{_bindir}/lsinitrd
%endif
%dir %{dracutlibdir}
%dir %{dracutlibdir}/modules.d
2012-02-22 13:14:17 +04:00
%{dracutlibdir}/dracut-functions.sh
%{dracutlibdir}/dracut-functions
2012-02-22 13:14:17 +04:00
%{dracutlibdir}/dracut-logger.sh
%{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}
%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*
%{_mandir}/man7/dracut.kernel.7*
%{_mandir}/man7/dracut.cmdline.7*
2009-11-27 12:53:28 +03:00
%{_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
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
%{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
2012-03-08 16:40:21 +04:00
%{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
2012-02-15 20:59:46 +04:00
%{dracutlibdir}/modules.d/99img-lib
%{dracutlibdir}/modules.d/99shutdown
2011-07-18 18:31:55 +04:00
%config(noreplace) /etc/logrotate.d/dracut_log
%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}
%{_unitdir}/*.service
%{_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)
%{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
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)
%{dracutlibdir}/modules.d/01fips
%config(noreplace) /etc/dracut.conf.d/40-fips.conf
%endif
2009-08-31 14:30:59 +04:00
%files fips-aesni
%defattr(-,root,root,0755)
%doc COPYING
%{dracutlibdir}/modules.d/02fips-aesni
2011-03-10 21:22:40 +03:00
%files caps
%defattr(-,root,root,0755)
%{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)
%{_mandir}/man8/dracut-gencmdline.8*
%{_mandir}/man8/dracut-catimages.8*
%{_bindir}/dracut-gencmdline
%{_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