-#
-# Conditional build:
-%bcond_with dmraid # include partial ugly hack for dmraid. do not use!
+# 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: 4605
-Release: 5
+Version: 12757
+Release: 2
License: GPL
Group: Applications/System
-Source0: ftp://ftp.pld-linux.org/people/arekm/software/%{name}-%{version}.tar.gz
-# Source0-md5: 9f15923a273abec0644749b3db533fff
-Patch0: %{name}-en_xml.patch
-Patch1: %{name}-mdadm.patch
-Patch2: %{name}-dmraid.patch
-Patch3: %{name}-usleep.patch
+Source0: %{name}-%{version}.tar.gz
+# Source0-md5: 3fb153489c3c245e5c1ee4bbc333acb4
+Patch0: %{name}-git.patch
+URL: http://git.pld-linux.org/?p=projects/geninitrd.git
BuildRequires: xmlto >= 0:0.0.18-1
-PreReq: rc-scripts >= 0.2.7
+Requires: /usr/bin/ldd
Requires: awk
-Requires: busybox-initrd >= 1.00-0.rc3.2
+Requires: busybox-initrd >= 1.22.1-2
+Requires: coreutils
+Requires: cpio
Requires: fileutils
-Requires: genromfs
+Requires: glibc-misc
Requires: gzip
-# without this softraid installations of PLD fail
-Requires: mdadm-initrd >= 1.12.0-1
Requires: mktemp >= 1.5-8
Requires: mount
Requires: pci-database >= 0.4
-Requires: sh-utils
+Requires: rc-scripts >= 0.2.7
Requires: tar
+Requires: virtual(module-tools)
+Requires: xz
+Suggests: genromfs
+Suggests: pciutils
Obsoletes: mkinitrd
+# 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
-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.
+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
-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
+%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
-%patch1 -p1
-%{?with_dmraid:%patch2 -p1}
-%patch3 -p0
+%setup -qc
+mv %{name}-%{version}*/* .
+%patch0 -p1
%build
-rm geninitrd.8
-%{__make} geninitrd.8
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-
%{__make} install \
- BUILDROOT=$RPM_BUILD_ROOT
+ 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) %verify(not md5 size mtime) /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