409 lines
16 KiB
Diff
409 lines
16 KiB
Diff
|
From f4031e8a9a7734fbb94e7350a814a5446c5cef5c Mon Sep 17 00:00:00 2001
|
||
|
From: Harald Hoyer <harald@redhat.com>
|
||
|
Date: Sat, 30 Jun 2012 09:12:35 +0200
|
||
|
Subject: [PATCH] move dracut-install to dracutbasedir
|
||
|
|
||
|
We do not want to install dracut-install to /usr/bin until all
|
||
|
interfaces are set to stone and the manpage is written. Until then the
|
||
|
tool is dracut internal.
|
||
|
---
|
||
|
Makefile | 25 ++++++++---
|
||
|
dracut-functions.sh | 121 +++++++++++++++++++++++++++++----------------------
|
||
|
dracut.sh | 4 +-
|
||
|
dracut.spec | 9 +++-
|
||
|
install/Makefile | 18 ++------
|
||
|
5 files changed, 102 insertions(+), 75 deletions(-)
|
||
|
|
||
|
diff --git a/Makefile b/Makefile
|
||
|
index 5488f8e..1d5531d 100644
|
||
|
--- a/Makefile
|
||
|
+++ b/Makefile
|
||
|
@@ -13,10 +13,25 @@ manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
|
||
|
|
||
|
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
|
||
|
|
||
|
-all: syncheck dracut-version.sh install/dracut-install
|
||
|
+all: syncheck dracut-version.sh dracut-install
|
||
|
|
||
|
-install/dracut-install:
|
||
|
- $(MAKE) -C install dracut-install
|
||
|
+DRACUT_INSTALL_SOURCE = \
|
||
|
+ install/dracut-install.c \
|
||
|
+ install/hashmap.c\
|
||
|
+ install/log.c \
|
||
|
+ install/util.c
|
||
|
+
|
||
|
+DRACUT_INSTALL_HEADER = \
|
||
|
+ install/hashmap.h \
|
||
|
+ install/log.h \
|
||
|
+ install/macro.h \
|
||
|
+ install/util.h
|
||
|
+
|
||
|
+dracut-install: $(DRACUT_INSTALL_SOURCE) $(DRACUT_INSTALL_HEADER)
|
||
|
+ gcc -std=gnu99 -O2 -g -Wall -o dracut-install $(DRACUT_INSTALL_SOURCE)
|
||
|
+
|
||
|
+indent:
|
||
|
+ indent -i8 -nut -br -linux -l120 install/dracut-install.c
|
||
|
|
||
|
doc: $(manpages) dracut.html
|
||
|
|
||
|
@@ -74,7 +89,7 @@ install: doc dracut-version.sh
|
||
|
ln -s ../dracut-shutdown.service \
|
||
|
$(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
|
||
|
fi
|
||
|
- $(MAKE) -C install install
|
||
|
+ install $(strip) -m 0755 dracut-install $(DESTDIR)$(pkglibdir)/dracut-install
|
||
|
|
||
|
dracut-version.sh:
|
||
|
@echo "DRACUT_VERSION=$(VERSION)-$(GITVERSION)" > dracut-version.sh
|
||
|
@@ -85,9 +100,9 @@ clean:
|
||
|
$(RM) */*/*~
|
||
|
$(RM) test-*.img
|
||
|
$(RM) dracut-*.rpm dracut-*.tar.bz2
|
||
|
+ $(RM) dracut-install
|
||
|
$(RM) $(manpages) dracut.html
|
||
|
$(MAKE) -C test clean
|
||
|
- $(MAKE) -C install clean
|
||
|
|
||
|
archive: dracut-$(VERSION)-$(GITVERSION).tar.bz2
|
||
|
|
||
|
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||
|
index 3fca456..5acf6f6 100755
|
||
|
--- a/dracut-functions.sh
|
||
|
+++ b/dracut-functions.sh
|
||
|
@@ -20,11 +20,30 @@
|
||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
#
|
||
|
|
||
|
-[[ -d "$initdir/.kernelmodseen" ]] || mkdir -p "$initdir/.kernelmodseen"
|
||
|
+
|
||
|
+if [[ $DRACUT_KERNEL_LAZY ]] && ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then
|
||
|
+ if ! [[ -d "$initdir/.kernelmodseen" ]]; then
|
||
|
+ mkdir -p "$initdir/.kernelmodseen"
|
||
|
+ fi
|
||
|
+ DRACUT_KERNEL_LAZY_HASHDIR="$initdir/.kernelmodseen"
|
||
|
+fi
|
||
|
|
||
|
# Generic substring function. If $2 is in $1, return 0.
|
||
|
strstr() { [[ $1 = *$2* ]]; }
|
||
|
|
||
|
+# find a binary. If we were not passed the full path directly,
|
||
|
+# search in the usual places to find the binary.
|
||
|
+find_binary() {
|
||
|
+ if [[ -z ${1##/*} ]]; then
|
||
|
+ if [[ -x $1 ]] || { strstr "$1" ".so" && ldd $1 &>/dev/null; }; then
|
||
|
+ echo $1
|
||
|
+ return 0
|
||
|
+ fi
|
||
|
+ fi
|
||
|
+
|
||
|
+ type -P $1
|
||
|
+}
|
||
|
+
|
||
|
if ! [[ $dracutbasedir ]]; then
|
||
|
dracutbasedir=${BASH_SOURCE[0]%/*}
|
||
|
[[ $dracutbasedir = "dracut-functions" ]] && dracutbasedir="."
|
||
|
@@ -32,6 +51,14 @@ if ! [[ $dracutbasedir ]]; then
|
||
|
dracutbasedir="$(readlink -f $dracutbasedir)"
|
||
|
fi
|
||
|
|
||
|
+if ! [[ $DRACUT_INSTALL ]]; then
|
||
|
+ DRACUT_INSTALL=$(find_binary dracut-install)
|
||
|
+fi
|
||
|
+
|
||
|
+if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
|
||
|
+ DRACUT_INSTALL=$dracutbasedir/dracut-install
|
||
|
+fi
|
||
|
+
|
||
|
# Detect lib paths
|
||
|
if ! [[ $libdirs ]] ; then
|
||
|
if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
|
||
|
@@ -391,56 +418,56 @@ check_vol_slaves() {
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
-if [[ -x /usr/bin/dracut-install ]]; then
|
||
|
+if [[ $DRACUT_INSTALL ]]; then
|
||
|
[[ $DRACUT_RESOLVE_LAZY ]] || export DRACUT_RESOLVE_DEPS=1
|
||
|
inst_dir() {
|
||
|
[[ -e ${initdir}/"$1" ]] && return 0 # already there
|
||
|
- dracut-install ${initdir+-D "$initdir"} -d "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} -d "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} -d "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} -d "$@" || :
|
||
|
}
|
||
|
|
||
|
inst() {
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
- #dinfo "dracut-install -l $@"
|
||
|
- dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
+ #dinfo "$DRACUT_INSTALL -l $@"
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_simple() {
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
[[ -e $1 ]] || return 1 # no source
|
||
|
- dracut-install ${initdir+-D "$initdir"} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_symlink() {
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
[[ -L $1 ]] || return 1
|
||
|
- dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
dracut_install() {
|
||
|
- #dinfo "initdir=$initdir dracut-install -l $@"
|
||
|
- dracut-install ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
+ #dinfo "initdir=$initdir $DRACUT_INSTALL -l $@"
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_library() {
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
[[ -e $1 ]] || return 1 # no source
|
||
|
- dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_binary() {
|
||
|
- dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_script() {
|
||
|
- dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
- (($? != 0)) && derror dracut-install ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir+-D "$initdir"} ${DRACUT_RESOLVE_DEPS+-l} ${DRACUT_FIPS_MODE+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
else
|
||
|
@@ -664,19 +691,6 @@ rev_lib_symlinks() {
|
||
|
echo "${links}"
|
||
|
}
|
||
|
|
||
|
-# find a binary. If we were not passed the full path directly,
|
||
|
-# search in the usual places to find the binary.
|
||
|
-find_binary() {
|
||
|
- if [[ -z ${1##/*} ]]; then
|
||
|
- if [[ -x $1 ]] || { strstr "$1" ".so" && ldd $1 &>/dev/null; }; then
|
||
|
- echo $1
|
||
|
- return 0
|
||
|
- fi
|
||
|
- fi
|
||
|
-
|
||
|
- type -P $1
|
||
|
-}
|
||
|
-
|
||
|
# attempt to install any programs specified in a udev rule
|
||
|
inst_rule_programs() {
|
||
|
local _prog _bin
|
||
|
@@ -1112,8 +1126,8 @@ install_kmod_with_fw() {
|
||
|
[[ -e "${initdir}/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" ]] \
|
||
|
&& return 0
|
||
|
|
||
|
- if [[ -e "$initdir/.kernelmodseen/${1##*/}" ]]; then
|
||
|
- read ret < "$initdir/.kernelmodseen/${1##*/}"
|
||
|
+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -e "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}" ]]; then
|
||
|
+ read ret < "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}"
|
||
|
return $ret
|
||
|
fi
|
||
|
|
||
|
@@ -1133,8 +1147,9 @@ install_kmod_with_fw() {
|
||
|
|
||
|
inst_simple "$1" "/lib/modules/$kernel/${1##*/lib/modules/$kernel/}"
|
||
|
ret=$?
|
||
|
- [ -d "$initdir/.kernelmodseen" ] && \
|
||
|
- echo $ret > "$initdir/.kernelmodseen/${1##*/}"
|
||
|
+ [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \
|
||
|
+ [[ -d "$DRACUT_KERNEL_LAZY_HASHDIR" ]] && \
|
||
|
+ echo $ret > "$DRACUT_KERNEL_LAZY_HASHDIR/${1##*/}"
|
||
|
(($ret != 0)) && return $ret
|
||
|
|
||
|
local _modname=${1##*/} _fwdir _found _fw
|
||
|
@@ -1181,38 +1196,38 @@ for_each_kmod_dep() {
|
||
|
dracut_kernel_post() {
|
||
|
local _moddirname=${srcmods%%/lib/modules/*}
|
||
|
|
||
|
- if [[ -f "$initdir/.kernelmodseen/lazylist" ]]; then
|
||
|
+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" ]]; then
|
||
|
xargs modprobe -a ${_moddirname+-d ${_moddirname}/} --ignore-install --show-depends \
|
||
|
- < "$initdir/.kernelmodseen/lazylist" 2>/dev/null \
|
||
|
+ < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist" 2>/dev/null \
|
||
|
| sort -u \
|
||
|
| while read _cmd _modpath _options; do
|
||
|
[[ $_cmd = insmod ]] || continue
|
||
|
echo "$_modpath"
|
||
|
- done > "$initdir/.kernelmodseen/lazylist.dep"
|
||
|
+ done > "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
|
||
|
|
||
|
(
|
||
|
- if [[ -x /usr/bin/dracut-install ]] && [[ -z $_moddirname ]]; then
|
||
|
- xargs dracut-install ${initdir+-D "$initdir"} -a < "$initdir/.kernelmodseen/lazylist.dep"
|
||
|
+ if [[ -x $DRACUT_INSTALL ]] && [[ -z $_moddirname ]]; then
|
||
|
+ xargs $DRACUT_INSTALL ${initdir+-D "$initdir"} -a < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
|
||
|
else
|
||
|
while read _modpath; do
|
||
|
local _destpath=$_modpath
|
||
|
[[ $_moddirname ]] && _destpath=${_destpath##$_moddirname/}
|
||
|
_destpath=${_destpath##*/lib/modules/$kernel/}
|
||
|
inst_simple "$_modpath" "/lib/modules/$kernel/${_destpath}" || exit $?
|
||
|
- done < "$initdir/.kernelmodseen/lazylist.dep"
|
||
|
+ done < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"
|
||
|
fi
|
||
|
) &
|
||
|
|
||
|
|
||
|
- if [[ -x /usr/bin/dracut-install ]]; then
|
||
|
- xargs modinfo -k $kernel -F firmware < "$initdir/.kernelmodseen/lazylist.dep" \
|
||
|
+ if [[ -x $DRACUT_INSTALL ]]; then
|
||
|
+ xargs modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep" \
|
||
|
| while read line; do
|
||
|
for _fwdir in $fw_dir; do
|
||
|
echo $_fwdir/$line;
|
||
|
done;
|
||
|
- done |xargs dracut-install ${initdir+-D "$initdir"} -a -o
|
||
|
+ done |xargs $DRACUT_INSTALL ${initdir+-D "$initdir"} -a -o
|
||
|
else
|
||
|
- for _fw in $(xargs modinfo -k $kernel -F firmware < "$initdir/.kernelmodseen/lazylist.dep"); do
|
||
|
+ for _fw in $(xargs modinfo -k $kernel -F firmware < "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist.dep"); do
|
||
|
for _fwdir in $fw_dir; do
|
||
|
if [[ -d $_fwdir && -f $_fwdir/$_fw ]]; then
|
||
|
inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw"
|
||
|
@@ -1243,7 +1258,7 @@ dracut_kernel_post() {
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
- rm -fr "$initdir/.kernelmodseen"
|
||
|
+ [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && rm -fr "$DRACUT_KERNEL_LAZY_HASHDIR"
|
||
|
}
|
||
|
|
||
|
find_kernel_modules_by_path () (
|
||
|
@@ -1296,8 +1311,9 @@ instmods() {
|
||
|
_mod=${_mod##*/}
|
||
|
# if we are already installed, skip this module and go on
|
||
|
# to the next one.
|
||
|
- if [[ -f "$initdir/.kernelmodseen/${_mod%.ko}.ko" ]]; then
|
||
|
- read _ret <"$initdir/.kernelmodseen/${_mod%.ko}.ko"
|
||
|
+ if [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \
|
||
|
+ [[ -f "$DRACUT_KERNEL_LAZY_HASHDIR/${_mod%.ko}.ko" ]]; then
|
||
|
+ read _ret <"$DRACUT_KERNEL_LAZY_HASHDIR/${_mod%.ko}.ko"
|
||
|
return $_ret
|
||
|
fi
|
||
|
|
||
|
@@ -1312,7 +1328,7 @@ instmods() {
|
||
|
&& ! [[ "$add_drivers" =~ " ${_mod} " ]] \
|
||
|
&& return 0
|
||
|
|
||
|
- if [[ "$_check" = "yes" ]] || ! [[ $DRACUT_KERNEL_LAZY ]]; then
|
||
|
+ if [[ "$_check" = "yes" ]] || ! [[ $DRACUT_KERNEL_LAZY_HASHDIR ]]; then
|
||
|
# We use '-d' option in modprobe only if modules prefix path
|
||
|
# differs from default '/'. This allows us to use Dracut with
|
||
|
# old version of modprobe which doesn't have '-d' option.
|
||
|
@@ -1325,7 +1341,8 @@ instmods() {
|
||
|
--set-version $kernel ${_moddirname} $_mpargs
|
||
|
((_ret+=$?))
|
||
|
else
|
||
|
- echo $_mod >> "$initdir/.kernelmodseen/lazylist"
|
||
|
+ [[ $DRACUT_KERNEL_LAZY_HASHDIR ]] && \
|
||
|
+ echo $_mod >> "$DRACUT_KERNEL_LAZY_HASHDIR/lazylist"
|
||
|
fi
|
||
|
;;
|
||
|
esac
|
||
|
diff --git a/dracut.sh b/dracut.sh
|
||
|
index 335f08b..1dc8cee 100755
|
||
|
--- a/dracut.sh
|
||
|
+++ b/dracut.sh
|
||
|
@@ -820,12 +820,12 @@ if [[ $kernel_only != yes ]]; then
|
||
|
cat $f >> "${initdir}/etc/fstab"
|
||
|
done
|
||
|
|
||
|
- if [[ $DRACUT_RESOLVE_LAZY ]] && [[ -x /usr/bin/dracut-install ]]; then
|
||
|
+ if [[ $DRACUT_RESOLVE_LAZY ]] && [[ $DRACUT_INSTALL ]]; then
|
||
|
dinfo "*** Resolving executable dependencies ***"
|
||
|
find "$initdir" -type f \
|
||
|
'(' -perm -0100 -or -perm -0010 -or -perm -0001 ')' \
|
||
|
-not -path '*.ko' -print0 \
|
||
|
- | xargs -0 dracut-install ${initdir+-D "$initdir"} -R ${DRACUT_FIPS_MODE+-H}
|
||
|
+ | xargs -0 $DRACUT_INSTALL ${initdir+-D "$initdir"} -R ${DRACUT_FIPS_MODE+-H}
|
||
|
dinfo "*** Resolving executable dependencies done***"
|
||
|
fi
|
||
|
|
||
|
diff --git a/dracut.spec b/dracut.spec
|
||
|
index 96dbc9c..06d8139 100644
|
||
|
--- a/dracut.spec
|
||
|
+++ b/dracut.spec
|
||
|
@@ -19,8 +19,13 @@ Group: System Environment/Base
|
||
|
%if 0%{?suse_version}
|
||
|
Group: System/Base
|
||
|
%endif
|
||
|
-License: GPLv2+
|
||
|
+
|
||
|
+# The entire source code is GPLv2+
|
||
|
+# except install/* which is LGPLv2.1+
|
||
|
+License: GPLv2+ and LGPLv2.1+
|
||
|
+
|
||
|
URL: https://dracut.wiki.kernel.org/
|
||
|
+
|
||
|
# Source can be generated by
|
||
|
# 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
|
||
|
@@ -235,7 +240,6 @@ rm -rf $RPM_BUILD_ROOT
|
||
|
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
|
||
|
%{_bindir}/mkinitrd
|
||
|
%{_bindir}/lsinitrd
|
||
|
-%{_bindir}/dracut-install
|
||
|
%endif
|
||
|
%dir %{dracutlibdir}
|
||
|
%dir %{dracutlibdir}/modules.d
|
||
|
@@ -244,6 +248,7 @@ rm -rf $RPM_BUILD_ROOT
|
||
|
%{dracutlibdir}/dracut-version.sh
|
||
|
%{dracutlibdir}/dracut-logger.sh
|
||
|
%{dracutlibdir}/dracut-initramfs-restore
|
||
|
+%{dracutlibdir}/dracut-install
|
||
|
%config(noreplace) /etc/dracut.conf
|
||
|
%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel}
|
||
|
%config /etc/dracut.conf.d/01-dist.conf
|
||
|
diff --git a/install/Makefile b/install/Makefile
|
||
|
index 59532a8..5332f25 100644
|
||
|
--- a/install/Makefile
|
||
|
+++ b/install/Makefile
|
||
|
@@ -1,17 +1,7 @@
|
||
|
-prefix ?= /usr
|
||
|
-bindir ?= ${prefix}/bin
|
||
|
-strip ?= -s
|
||
|
-
|
||
|
-all: dracut-install
|
||
|
-
|
||
|
-dracut-install: dracut-install.c hashmap.c log.c util.c
|
||
|
- gcc -std=gnu99 -O2 -g -Wall -o dracut-install dracut-install.c hashmap.c log.c util.c
|
||
|
-
|
||
|
-install: dracut-install
|
||
|
- install $(strip) -m 0755 dracut-install $(DESTDIR)$(bindir)/dracut-install
|
||
|
+all:
|
||
|
+ $(MAKE) -C ..
|
||
|
|
||
|
clean:
|
||
|
- rm -f dracut-install *~
|
||
|
+ $(MAKE) -C .. clean
|
||
|
|
||
|
-indent:
|
||
|
- indent -i8 -nut -br -linux -l120 dracut-install.c
|
||
|
+.PHONY: all clean
|