+# TODO:
+# - BUG: you can't set in /etc/mdadm.conf:
+# DEVICE partitions containers
+# (which is default BTW if none set). Generation of initrd will fail
+#
Summary: Creates an initial ramdisk image for preloading modules
-Summary(pl): Narzêdzie do tworzenia inicjalnego ramdysku u¿ywanego przy starcie systemu
+Summary(pl.UTF-8): Narzędzie do tworzenia inicjalnego ramdysku używanego przy starcie systemu
Name: geninitrd
-Version: 3196
-Release: 1
+Version: 12757
+Release: 2
License: GPL
Group: Applications/System
Source0: %{name}-%{version}.tar.gz
-# Source0-md5: cab9f7efe922d8841bdbd3f2e05f6702
+# Source0-md5: 3fb153489c3c245e5c1ee4bbc333acb4
+Patch0: %{name}-git.patch
+URL: http://git.pld-linux.org/?p=projects/geninitrd.git
+BuildRequires: xmlto >= 0:0.0.18-1
+Requires: /usr/bin/ldd
Requires: awk
-Requires: busybox-initrd >= 1.00-0.pre5.0
+Requires: busybox-initrd >= 1.22.1-2
+Requires: coreutils
+Requires: cpio
Requires: fileutils
-Requires: genromfs
+Requires: glibc-misc
Requires: gzip
Requires: mktemp >= 1.5-8
Requires: mount
-Requires: pci-database >= 0.0.2
-Requires: sh-utils
+Requires: pci-database >= 0.4
+Requires: rc-scripts >= 0.2.7
Requires: tar
-Prereq: rc-scripts >= 0.2.7
+Requires: virtual(module-tools)
+Requires: xz
+Suggests: genromfs
+Suggests: pciutils
Obsoletes: mkinitrd
-Conflicts: mdadm-initrd < 1.4.0-3
+# suggest for blkid
+%if "%{pld_release}" == "ac"
+# otherwise LVM subsystem is not enabled in geninitrd
+Suggests: lvm2-initrd
+# without this softraid installations of PLD fail
+Suggests: mdadm-initrd >= 1.12.0-1
+Conflicts: grubby < 5.0.4-3.1
+%else
+Conflicts: grubby < 6.0.24-3
+%endif
+Conflicts: kmod < 7-2
+Conflicts: module-init-tools < 3.2.2-6
+Conflicts: pciutils < 2.2.9
+Conflicts: udev-initrd < 1:168
+Conflicts: xz < 4.999.9
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-Mkinitrd creates filesystem images for use as initial ramdisk (initrd)
-images. These ramdisk images are often used to preload the block
-device modules (SCSI or RAID) needed to access the root filesystem.
+Geninitrd creates filesystem images for use as initial ramdisk
+(initrd) images. These ramdisk images are often used to preload the
+block device modules (SCSI or RAID) needed to access the root
+filesystem.
In other words, generic kernels can be built without drivers for any
SCSI adapters which load the SCSI driver as a module. Since the kernel
filesystem. The geninitrd program creates such a ramdisk using
information found in the /etc/modules.conf file.
-%description -l pl
-Mkinitrd s³u¿y do tworzenia obrazu systemu plikowego u¿ywanego jako
-inicjalny ramdysk (initrd), z którego przy starcie systemu s± ³adowane
-modu³y kernela z obs³ug± urz±dzeñ których obs³uga nie jest
-wkompilowana w kernel. Zazwyczaj modu³ami ³adowanymi z inicjalnego
-systemu plikowego s± sterowniki SCSI, IDE czy te¿ RAID po to ¿eby w
-dalszej czê¶ci inicjacji systemu by³ mo¿liwy dostêp do g³ównego
+%description -l pl.UTF-8
+Geninitrd służy do tworzenia obrazu systemu plikowego używanego jako
+inicjalny ramdysk (initrd), z którego przy starcie systemu są ładowane
+moduły kernela z obsługą urządzeń których obsługa nie jest
+wkompilowana w kernel. Zazwyczaj modułami ładowanymi z inicjalnego
+systemu plikowego są sterowniki SCSI, IDE czy też RAID po to żeby w
+dalszej części inicjacji systemu był możliwy dostęp do głównego
systemu plikowego (root fs).
-Dziêki initrd jest mo¿liwe u¿ywanie dystrybucyjnego kernela w którym
-wkompilowana jest minimalna ilo¶æ obs³ugi ró¿nych urz±dzeñ, a reszta
-kodu obs³ugi sterowników SCSI, IDE czy RAID jest doczytywana w trakcie
+Dzięki initrd jest możliwe używanie dystrybucyjnego kernela w którym
+wkompilowana jest minimalna ilość obsługi różnych urządzeń, a reszta
+kodu obsługi sterowników SCSI, IDE czy RAID jest doczytywana w trakcie
startu z initrd. Skrypt geninitrd generuje obraz ramdysku na podstawie
-bie¿±cych informacji zawartych w /etc/modules.conf.
+bieżących informacji zawartych w /etc/modules.conf.
%prep
-%setup -q
+%setup -qc
+mv %{name}-%{version}*/* .
+%patch0 -p1
%build
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-
-%{__make} BUILDROOT=$RPM_BUILD_ROOT install
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
+%doc ChangeLog
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/geninitrd
%attr(755,root,root) /sbin/geninitrd
-%config(noreplace) /etc/sysconfig/geninitrd
-%{_mandir}/man8/*
+%{_mandir}/man8/geninitrd.8*
+
+%dir /lib/geninitrd
+/lib/geninitrd/functions
+/lib/geninitrd/mod-*.sh
+%attr(755,root,root) /lib/geninitrd/extract-ikconfig
+
+%dir /lib/geninitrd/udev-rules
+/lib/geninitrd/udev-rules/*.rules