Makefile, dracut.spec: move dracut to /usr/lib/dracut
authorHarald Hoyer <harald@redhat.com>
Wed, 23 Nov 2011 08:42:10 +0000 (09:42 +0100)
committerHarald Hoyer <harald@redhat.com>
Fri, 2 Dec 2011 12:03:00 +0000 (13:03 +0100)
Move dracut to /usr/lib/dracut.
We should not have picked /usr/share/dracut. Dracut is no ordinary "data".

Makefile
dracut
dracut.8.xml
dracut.conf.5.xml
dracut.spec
dracut.xml

index 0b60c5b..5fa67ba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,8 +2,9 @@ VERSION=013
 GITVERSION=$(shell [ -d .git ] && git rev-list  --abbrev-commit  -n 1 HEAD  |cut -b 1-8)
 
 prefix ?= /usr
+libdir ?= ${prefix}/lib
 datadir ?= ${prefix}/share
-pkglibdir ?= ${datadir}/dracut
+pkglibdir ?= ${libdir}/dracut
 sysconfdir ?= ${prefix}/etc
 sbindir ?= ${prefix}/sbin
 mandir ?= ${prefix}/share/man
diff --git a/dracut b/dracut
index f989cb8..45ee759 100755 (executable)
--- a/dracut
+++ b/dracut
@@ -35,7 +35,7 @@ Creates initial ramdisk images for preloading modules
   -f, --force           Overwrite existing initramfs file.
   -m, --modules [LIST]  Specify a space-separated list of dracut modules to
                          call when building the initramfs. Modules are located
-                         in /usr/share/dracut/modules.d.
+                         in /usr/lib/dracut/modules.d.
   -o, --omit [LIST]     Omit a space-separated list of dracut modules.
   -a, --add [LIST]      Add a space-separated list of dracut modules.
   -d, --drivers [LIST]  Specify a space-separated list of kernel modules to
@@ -80,7 +80,7 @@ Creates initial ramdisk images for preloading modules
                          from. Default: /etc/dracut.conf.d
   -l, --local           Local mode. Use modules from the current working
                          directory instead of the system-wide installed in
-                         /usr/share/dracut/modules.d.
+                         /usr/lib/dracut/modules.d.
                          Useful when running dracut from a git checkout.
   -H, --hostonly        Host-Only mode: Install only what is needed for
                          booting the local host instead of a generic host.
@@ -280,7 +280,7 @@ unset LD_LIBRARY_PATH
     debug=yes
 }
 
-[[ $dracutbasedir ]] || dracutbasedir=/usr/share/dracut
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
 
 [[ $allowlocal && -f "$(readlink -f ${0%/*})/dracut-functions" ]] && \
     dracutbasedir="$(readlink -f ${0%/*})"
@@ -388,7 +388,7 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
 [[ $use_fstab_l ]] && use_fstab=$use_fstab_l
 [[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
 [[ $lvmconf_l ]] && lvmconf=$lvmconf_l
-[[ $dracutbasedir ]] || dracutbasedir=/usr/share/dracut
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
 [[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
 [[ $do_strip ]] || do_strip=no
 [[ $compress_l ]] && compress=$compress_l
index d4689ee..b2b740a 100644 (file)
@@ -112,7 +112,7 @@ For a complete list of kernel command line options see
             <para>specify a space-separated list of dracut modules to call
 when building the initramfs.
 Modules are located in
-<filename>/usr/share/dracut/modules.d</filename>. This parameter can be specified multiple times.</para>
+<filename>/usr/lib/dracut/modules.d</filename>. This parameter can be specified multiple times.</para>
           </listitem>
         </varlistentry>
         <varlistentry>
@@ -369,7 +369,7 @@ Default:
           <listitem>
             <para>activates the local mode. dracut will use modules from the current working
 directory instead of the system-wide installed modules in
-<filename>/usr/share/dracut/modules.d</filename>.
+<filename>/usr/lib/dracut/modules.d</filename>.
 This is useful when running dracut from a git checkout.</para>
           </listitem>
         </varlistentry>
index 811680e..c0766e7 100644 (file)
@@ -46,7 +46,7 @@ overwrite parameters set in <filename>/etc/dracut.conf</filename>. Each line spe
         <listitem>
           <para>Specify a space-separated list of dracut modules to
 call when building the initramfs. Modules are located
-in <filename>/usr/share/dracut/modules.d</filename>.</para>
+in <filename>/usr/lib/dracut/modules.d</filename>.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
index 8fd5048..e6df68a 100644 (file)
@@ -1,3 +1,5 @@
+%define dracutlibdir %{_prefix}/lib/dracut
+
 # Variables must be defined
 %define with_nbd                1
 
@@ -175,18 +177,20 @@ make
 %if 0%{?fedora} || 0%{?rhel} > 6
 rm -rf $RPM_BUILD_ROOT
 %endif
-make install DESTDIR=$RPM_BUILD_ROOT sbindir=/sbin \
+make install DESTDIR=$RPM_BUILD_ROOT \
+     libdir=%{_prefix}/lib \
+     sbindir=/sbin \
      sysconfdir=/etc mandir=%{_mandir}
 
-echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/10rpmversion/dracut-version
+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/%{_datadir}/dracut/modules.d/01fips
-rm -fr $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/02fips-aesni
+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/%{_datadir}/dracut/modules.d/50gensplash
+rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
 
 mkdir -p $RPM_BUILD_ROOT/boot/dracut
 mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
@@ -222,10 +226,10 @@ rm -rf $RPM_BUILD_ROOT
 /sbin/mkinitrd
 /sbin/lsinitrd
 %endif
-%dir %{_datadir}/dracut
-%dir %{_datadir}/dracut/modules.d
-%{_datadir}/dracut/dracut-functions
-%{_datadir}/dracut/dracut-logger
+%dir %{dracutlibdir}
+%dir %{dracutlibdir}/modules.d
+%{dracutlibdir}/dracut-functions
+%{dracutlibdir}/dracut-logger
 %config(noreplace) /etc/dracut.conf
 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
 %config /etc/dracut.conf.d/01-dist.conf
@@ -234,72 +238,72 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man8/dracut.8*
 %{_mandir}/man7/dracut.kernel.7*
 %{_mandir}/man5/dracut.conf.5*
-%{_datadir}/dracut/modules.d/00bootchart
-%{_datadir}/dracut/modules.d/00dash
-%{_datadir}/dracut/modules.d/05busybox
-%{_datadir}/dracut/modules.d/10i18n
-%{_datadir}/dracut/modules.d/10rpmversion
-%{_datadir}/dracut/modules.d/50plymouth
-%{_datadir}/dracut/modules.d/90btrfs
-%{_datadir}/dracut/modules.d/90crypt
-%{_datadir}/dracut/modules.d/90dm
-%{_datadir}/dracut/modules.d/90dmraid
-%{_datadir}/dracut/modules.d/90dmsquash-live
-%{_datadir}/dracut/modules.d/90kernel-modules
-%{_datadir}/dracut/modules.d/90lvm
-%{_datadir}/dracut/modules.d/90mdraid
-%{_datadir}/dracut/modules.d/90multipath
-%{_datadir}/dracut/modules.d/91crypt-gpg
-%{_datadir}/dracut/modules.d/95debug
-%{_datadir}/dracut/modules.d/95resume
-%{_datadir}/dracut/modules.d/95rootfs-block
-%{_datadir}/dracut/modules.d/95dasd
-%{_datadir}/dracut/modules.d/95dasd_mod
-%{_datadir}/dracut/modules.d/95fstab-sys
-%{_datadir}/dracut/modules.d/95zfcp
-%{_datadir}/dracut/modules.d/95terminfo
-%{_datadir}/dracut/modules.d/95udev-rules
-%{_datadir}/dracut/modules.d/96securityfs
-%{_datadir}/dracut/modules.d/97biosdevname
-%{_datadir}/dracut/modules.d/97masterkey
-%{_datadir}/dracut/modules.d/98ecryptfs
-%{_datadir}/dracut/modules.d/98integrity
-%{_datadir}/dracut/modules.d/98selinux
-%{_datadir}/dracut/modules.d/98syslog
-%{_datadir}/dracut/modules.d/98usrmount
-%{_datadir}/dracut/modules.d/99base
-%{_datadir}/dracut/modules.d/99fs-lib
-%{_datadir}/dracut/modules.d/99shutdown
+%{dracutlibdir}/modules.d/00bootchart
+%{dracutlibdir}/modules.d/00dash
+%{dracutlibdir}/modules.d/05busybox
+%{dracutlibdir}/modules.d/10i18n
+%{dracutlibdir}/modules.d/10rpmversion
+%{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
+%{dracutlibdir}/modules.d/98selinux
+%{dracutlibdir}/modules.d/98syslog
+%{dracutlibdir}/modules.d/98usrmount
+%{dracutlibdir}/modules.d/99base
+%{dracutlibdir}/modules.d/99fs-lib
+%{dracutlibdir}/modules.d/99shutdown
 %config(noreplace) /etc/logrotate.d/dracut_log
 %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
 %dir %{_sharedstatedir}/initramfs
 
 %files network
 %defattr(-,root,root,0755)
-%{_datadir}/dracut/modules.d/40network
-%{_datadir}/dracut/modules.d/95fcoe
-%{_datadir}/dracut/modules.d/95iscsi
-%{_datadir}/dracut/modules.d/90livenet
-%{_datadir}/dracut/modules.d/95nbd
-%{_datadir}/dracut/modules.d/95nfs
-%{_datadir}/dracut/modules.d/45ifcfg
-%{_datadir}/dracut/modules.d/95znet
+%{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/45ifcfg
+%{dracutlibdir}/modules.d/95znet
 
 %if 0%{?fedora} || 0%{?rhel} > 6
 %files fips
 %defattr(-,root,root,0755)
-%{_datadir}/dracut/modules.d/01fips
+%{dracutlibdir}/modules.d/01fips
 %config(noreplace) /etc/dracut.conf.d/40-fips.conf
 %endif
 
 %files fips-aesni
 %defattr(-,root,root,0755)
 %doc COPYING
-%{_datadir}/dracut/modules.d/02fips-aesni
+%{dracutlibdir}/modules.d/02fips-aesni
 
 %files caps
 %defattr(-,root,root,0755)
-%{_datadir}/dracut/modules.d/02caps
+%{dracutlibdir}/modules.d/02caps
 
 %files tools
 %defattr(-,root,root,0755)
index 13e092a..8602b2f 100644 (file)
@@ -170,7 +170,7 @@ include ld.so.conf.d/*.conf</screen>
         <para>To see a list of available dracut modules, use the <option>--list-modules</option> option:</para>
         <screen># dracut --list-modules</screen>
         <para>or, if you have a dracut version earlier than <literal>008</literal>, issue the command:</para>
-        <screen># for mod in /usr/share/dracut/modules.d/*; do echo ${mod##*/??}; done</screen>
+        <screen># for mod in /usr/lib/dracut/modules.d/*; do echo ${mod##*/??}; done</screen>
       </section>
       <section>
         <title>Omitting dracut Modules</title>
@@ -534,7 +534,7 @@ Key slot 0 unlocked. </screen></para>
     <title>Developer Manual</title>
     <section>
       <title>dracut Components</title>
-      <para>dracut uses a modular system to build and extend the initramfs image. All modules are located in <filename>/usr/share/dracut/modules.d</filename> or in <filename><replaceable>&lt;git-src&gt;</replaceable>/modules.d</filename>. The most basic dracut module is <filename>99base</filename>. In <filename>99base</filename> the initial shell script <command>init</command> is defined, which gets run by the kernel after initramfs loading. Although you can replace <command>init</command> with your own version of <filename>99base</filename>, this is not encouraged. Instead you should use, if possible, the hooks of dracut. All hooks, and the point of time in which they are executed, are described in <xref linkend="stages"/>.</para>
+      <para>dracut uses a modular system to build and extend the initramfs image. All modules are located in <filename>/usr/lib/dracut/modules.d</filename> or in <filename><replaceable>&lt;git-src&gt;</replaceable>/modules.d</filename>. The most basic dracut module is <filename>99base</filename>. In <filename>99base</filename> the initial shell script <command>init</command> is defined, which gets run by the kernel after initramfs loading. Although you can replace <command>init</command> with your own version of <filename>99base</filename>, this is not encouraged. Instead you should use, if possible, the hooks of dracut. All hooks, and the point of time in which they are executed, are described in <xref linkend="stages"/>.</para>
       <para>The main script, which creates the initramfs is <command>dracut</command> itsself. It parses all arguments and sets up the directory, in which everything is installed. It then executes all <command>check</command>, <command>install</command>, <command>installkernel</command> scripts found in the modules, which are to be processed. After everything is installed, the install directory is archived and compressed to the final initramfs image. All helper functions used by <command>check</command>, <command>install</command> and <command>installkernel</command> are found in in the file <filename>dracut-functions</filename>. These shell functions are available to all module installer (<command>install</command>, <command>installkernel</command>) scripts, without the need to source <filename>dracut-functions</filename>.</para>
       <para>A module can check the preconditions for <command>install</command> and <command>installkernel</command> with the <command>check</command> script. Also dependencies can be expressed with <command>check</command>. If a module passed <command>check</command>, <command>install</command> and <command>installkernel</command> will be called to install all of the necessary files for the module. To split between kernel and non-kernel parts of the installation, all kernel module related parts have to be in <command>installkernel</command>. All other files found in a module directory are module specific and mostly are hook scripts and udev rules.</para>
     </section>