Summary: Creates an initial ramdisk image for preloading modules.
Summary(ja): モジュールをプリロードするための初期RAMディスク(initramfs)作成ユーティリティ
Name: mkinitrd
Version: 6.0.93
Release: 25%{?_dist_release}
License: GPLv2+
Group: System Environment/Base

Source0: mkinitrd-%{version}.tar.bz2

Patch11: mkinitrd-6.0.93-add-drm-whitelist.patch
Patch12: mkinitrd-6.0.93-fix-detect-usb-storage.patch
Patch13: mkinitrd-6.0.93-no-daemonize-plymouth.patch
Patch14: mkinitrd-6.0.93-noselinux.patch
Patch15: mkinitrd-6.0.93-restrict-udev-messages.patch

Patch20: mkinitrd-6.0.93-tuxonice.patch
Patch21: mkinitrd-6.0.93-remove-bash4ism.patch
Patch22: mkinitrd-6.0.93-fix-resolving-library-deps.patch
Patch23: mkinitrd-6.0.93-add-nouveau-radeon-to-whitelist.patch
Patch24: mkinitrd-6.0.93-add-drm-drivers-for-hardware-with-no-currently-loaded.patch
Patch25: mkinitrd-6.0.93-nokmsboot-option.patch
Patch26: mkinitrd-6.0.93-gcc46.patch
Patch27: mkinitrd-6.0.93-kmod.patch
Patch28: mkinitrd-6.0.93-loadusb.patch
Patch29: mkinitrd-6.0.93-devtmpfs.patch
Patch30: mkinitrd-6.0.93-create-etc-blkid.patch
Patch31: mkinitrd/mkinitrd-6.0.93-lvm2-2.02.98.patch
Patch32: mkinitrd-6.0.93-no_scsi_wait_scan.patch
Patch33: mkinitrd-6.0.93-resolve-device-name.patch
Patch34: mkinitrd-6.0.93-firmware_copy_fix.patch

Patch100: mkinitrd-modern-toolchain.patch
Patch101: mkinitrd-function-adhoc.patch

ExclusiveOs: Linux
URL: git://git.fedoraproject.org/git/hosted/mkinitrd
Requires: /bin/sh, /sbin/modprobe, /sbin/losetup
Requires: fileutils, grep, mount, gzip, tar, mktemp
Requires: lvm2
Requires: filesystem >= 2.1.0, cpio, device-mapper, initscripts
Requires: coreutils
Requires: mdadm, elfutils-libelf, isomd5sum, plymouth
Requires: util-linux-ng
BuildRequires: popt-devel, elfutils-libelf-devel, elfutils-devel
BuildRequires: libblkid-devel, parted-devel >= 1.8.5, pkgconfig
BuildRequires: device-mapper-devel, python-devel
BuildRequires: python, util-linux-ng, libnl-devel
BuildRequires: libuuid-devel
%ifnarch s390 s390x
Requires: dmraid
Requires: kbd
%endif
Requires: nash = %{version}-%{release}
Requires: grubby
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

Vendor: Project Vine
Distribution: Vine Linux
Packager: daisuke

%description
mkinitrd creates filesystem images for use as initial ram filesystem
(initramfs) images.  These images are used to find and mount the root
filesystem.

%package devel
Summary: C header files and library for functionality exported by libnash.
Summary(ja): C header files and library for functionality exported by libnash.
Group: Development/Libraries
Requires: glibc-devel, pkgconfig, e2fsprogs-devel, mkinitrd
Requires: nash = %{version}-%{release}

%package -n libbdevid-python
Summary: Python bindings for libbdevid
Summary(ja): Python bindings for libbdevid
Group: System Environment/Libraries
Requires: e2fsprogs, device-mapper-libs
Requires: python, nash = %{version}-%{release}

%package -n nash
Summary: nash
Summary(ja): nash
Group: System Environment/Base
Requires: parted, device-mapper-libs, e2fsprogs
Requires: popt
Requires: openssl, zlib
Provides: libbdevid = %{version}-%{release}
Obsoletes: libbdevid < %{version}-%{release}

%description devel
C header files and library for functionality exported by libnash.

%description -n libbdevid-python
Python bindings for libbdevid.

%description -n nash
nash

%prep
%setup -q -n mkinitrd-%{version}
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch30 -p1
%patch34 -p0 
%if "%{_dist_release}" >= "vl7"
%patch29 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p0
%patch100 -p1
%patch101 -p1
%endif

%build
make LIB=%{_lib}
make LIB=%{_lib} test

%install
rm -rf $RPM_BUILD_ROOT
make LIB=%{_lib} DESTDIR=$RPM_BUILD_ROOT mandir=%{_mandir} install
rm -f $RPM_BUILD_ROOT/sbin/bdevid $RPM_BUILD_ROOT/%{_includedir}/blkent.h

# conflicts with dracut
rm -f %{buildroot}/sbin/lsinitrd


%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%attr(755,root,root) /sbin/mkinitrd
%attr(644,root,root) %{_mandir}/man8/mkinitrd.8*
%attr(755,root,root) /usr/libexec/mkliveinitrd
%attr(755,root,root) /usr/libexec/initrd-functions

%files devel
%defattr(-,root,root)
%{_libdir}/libnash.so
%{_libdir}/libbdevid.so
%{_libdir}/libbdevidprobe.a
%{_libdir}/pkgconfig/libnash.pc
%{_libdir}/pkgconfig/libbdevid.pc
%{_libdir}/pkgconfig/libbdevidprobe.pc
%{_includedir}/nash.h
%{_includedir}/nash
%{_includedir}/bdevid.h
%{_includedir}/bdevid

%files -n libbdevid-python
%defattr(-,root,root)
%{python_sitearch}/bdevid.so

%files -n nash
%defattr(-,root,root)
%attr(644,root,root) %{_mandir}/man8/nash.8*
%attr(755,root,root) /sbin/nash
/%{_lib}/bdevid
%{_libdir}/libnash.so.*
%{_libdir}/libbdevid.so.*
%dir %{_sysconfdir}/kernel
%dir %{_sysconfdir}/kernel/postinst.d
%dir %{_sysconfdir}/kernel/prerm.d

%changelog
* Wed Sep 25 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 6.0.93-25
- dropped /usr/sbin/lsinitrd: conflicts with dracut.
- added Patch100 to build with current toolchain.
- added Patch101.

* Sat Jul 22 2017 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 6.0.93-24
- add patch34 for fix firmware copy error
- remove ppc if-endif
- remove too old changelog (has many many date error)

* Sat Nov 21 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 6.0.93-23
- added Patch33 to fix resolve_device_name().

* Wed Dec 12 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-22
- add patch30 to create /etc/blkid
- add patch31 to support newer lvm2
- add patch32 to use sleep instead of scsi_wait_scan

* Sun Jul 15 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 6.0.93-21
- rebuild with parted-3.1

* Sun Jul 08 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-20
- add patch29 to mount devtmpfs on /dev (newer udev support)

* Sun Jul 08 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-19
- add patch28 to load xhci-hcd and usb-storage by default

* Fri Jul 06 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-18
- update kmod patch
  - install module.{order,builtin} to initrd

* Wed Jul 04 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-17
- fix version

* Thu Jun 28 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-16
- add patch27 to support kmod

* Thu Jun 28 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-15
- remove R: insmod.static, add R: modprobe

* Wed Feb 15 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 6.0.93-14
- rebuild with python-2.7.2

* Fri Jan 06 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 6.0.93-13
- rebuild with parted-3.0
- add Patch26 (mkinitrd-6.0.93-gcc46.patch)

* Tue Jul 19 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-12
- Patch23: add radeon/nouveau to DRM_WHITELIST
- Patch24: add drm drivers for hardware with no currently loaded
  drm driver
- Patch25: do not load KMS driver when booted with nokmsboot or
  failsage options

* Sat Dec 04 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 6.0.93-11
- add BuildRequires: libuuid-devel

* Tue Nov  9 2010 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 6.0.93-10
- rebuilt with parted 2.3

* Thu Sep 30 2010 Shu KONNO <owa@bg.wakwak.com> 6.0.93-9
- rebuilt with rpm-4.8.1 for pkg-config

* Tue May 11 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-8
- add Patch22 to fix resolving library dependencies

* Mon Apr 12 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-7
- add Patch21 to remove bash4ism

* Thu Mar 25 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 6.0.93-6
- Requires powerpc-utils instead of ppc64-utils

* Tue Mar 23 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-5
- fix typo in patch20

* Thu Mar 18 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-4
- add Patch20 to support tuxonice

* Tue Mar 16 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-3
- fix python module path on x86_64

* Mon Feb 22 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-2
- add Patch11-15 from mdv

* Mon Feb 15 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 6.0.93-1
- initial build for Vine Linux

* Wed Sep  2 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.93-1
- Move hotplug run to before gpu driver probing (airlied, #520730)
- Fix (non-fatal) syntax error (katzj, #513414)

* Mon Aug 10 2009 Ville Skyttä <ville.skytta@iki.fi> - 6.0.92-3
- Convert specfile to UTF-8.

* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.92-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Mon Jul 20 2009 Jeremy Katz <katzj@redhat.com> - 6.0.92-1
- Fix live image booting with udev creating /dev/mapper/control
- Workaround to try to stop the live image dm backing images from showing 
  up in devkit-disks (#495170)

* Fri Jul 10 2009 Tom "spot" Callaway <tcallawa@redhat.com> - 6.0.91-2
- rebuild against new parted

* Mon Jul  6 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.91-1
- Allow setting VG_LIST in /etc/sysconfig/mkinitrd (#509709)
- Fix mkrootdev failing with norelatime option (#509687)

* Tue Jun 30 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.90-1
- drop e2fsprogs requires (#508407)
- process all PVs in a required VG (#506189)

* Wed Jun 24 2009 Jeremy Katz <katzj@redhat.com> - 6.0.89-1
- grubby is now its own source package as we prepare to let people
  try out dracut more

* Mon Jun 22 2009 Jeremy Katz <katzj@redhat.com> - 6.0.88-1
- udev has dropped /lib/udev/vol_id, so use blkid instead (#506360)
- accordingly, require new enough util-linux-ng for blkid -o udev

* Tue Jun 16 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.87-1
- Fix mkinitrd creating a non booting initrd when parted-devel is installed
  and the user has made configuration changes resulting in ld.so searching
  /usr/lib before /lib (#502221)
- Fix nash' network command not setting the default gateway (#501033)

* Mon Jun 15 2009 Karsten Hopp <karsten@redhat.com> 6.0.86-2.1
- there is no kbd package on s390x, don't require it there
- require libblkid-devel instead on e2fsprogs-devel

* Fri May 29 2009 Peter Jones <pjones@redhat.com> - 6.0.86-2
- Require "kbd" package so keyboard settings will work right after initial
  installation. (#501584)

* Thu May 21 2009 Bill Nottingham <notting@redhat.com> - 6.0.86-1
- Reorder font initialization to properly handle KMS

* Tue May 19 2009 Peter Jones <pjones@redhat.com> - 6.0.85-1
- Handle F9's crypttab format as well (#501198)

* Thu May 14 2009 Peter Jones <pjones@redhat.com> - 6.0.84-1
- Don't use fixed device names in cryptsetup (#500830)

* Mon Apr 27 2009 Jeremy Katz <katzj@redhat.com> - 6.0.83-1
- Fix up syntax error in udev rules for live image (#497762)

* Thu Apr 16 2009 Jeremy Katz <katzj@redhat.com> - 6.0.82-1
- Don't show live snapshot dev with devkit-disks (#495170)
- grubby: Don't crash showing "other" sections (hans, #491622)

* Mon Mar 16 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.81-1
- Make mkinitrd work with kernels < 2.6.29 (#487358, #489151)
- Fix booting of i2o devices (#476277)

* Fri Mar  6 2009 Jeremy Katz <katzj@redhat.com> - 6.0.80-1
- Fix up a multi live case to work

* Fri Mar  6 2009 Jeremy Katz <katzj@redhat.com> - 6.0.79-1
- Fix handling of  keymaps which are symlinks (hdegoede, #485615)
- Show splash later for live images (mccann)
- Make live initrd boot quieter (#488862)
- First steps of multiple live medium support (Till Maas)

* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.78-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Feb 23 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.78-1
- Use dmraid instead of setting up dm tables ourselves, this fixed dmraid10
  and via dmraid setups (hdegoede)
- Speed up mkblkdevs (Alexandre Oliva)
- exit() from nash-hotplug when the parent pid dies (Olivier Blin)
- Avoid unnecessarily loading raid456 (#312521, Curtis Doty)
- Fix various segfaults in renameNetworkInterface() (#485309, hdegoede)

* Tue Feb 10 2009 Jeremy Katz <katzj@redhat.com> - 6.0.77-1
- Fix mkliveinitrd with mtd root (#484496)
- Minor boot speedup for the live case

* Wed Feb  4 2009 Hans de Goede <hdegoede@redhat.com> - 6.0.76-1
- Fix configuration of network interfaces for network boot (#481078)
- Fix iscsi chap password being seen as ********
- Handle lv root specified as /dev/dm-X properly (#471729)
- Initial commit of EXTLINUX (no menu) support
- Do not call dm_resolve_name on dmraidsets names, sometimes it fails, and
  it is not necessary, this fixes the dmraid boot failure seen on
  some systems (#476818)
- Make nash mount support relatime (#296361)
- FIX: nash unable to find dm devs by uuid or label (#480667)

* Mon Jan 19 2009 Jeremy Katz <katzj@redhat.com> - 6.0.75-1
- fix live images to be smarter with rootfstype=auto

* Wed Jan 14 2009 Jeremy Katz <katzj@redhat.com> - 6.0.74-1
- modesetting for live images

