f2303f5fc2
* updates 0512-Make-binutils-optional-when-elfutils-are-available.patch OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=303
53 lines
1.9 KiB
Diff
53 lines
1.9 KiB
Diff
From a7970811473e4d351e82de8a523ecf46572c3e8c Mon Sep 17 00:00:00 2001
|
|
From: Daniel Molkentin <dmolkentin@suse.com>
|
|
Date: Mon, 3 Apr 2017 15:23:37 +0200
|
|
Subject: [PATCH] Make binutils optional when elfutils are available
|
|
|
|
This is intended for minimum host OSes where 36 MB used by binutils
|
|
are deemed too expensive. We only need "strip", which exists as eu-strip
|
|
in elfutils, which in turn is < 1 MB in size.
|
|
|
|
Note that the tests (TEST-04-FULL-SYSTEMD/test.sh) still depend on
|
|
strip from binutils. It could use sstrip in the future.
|
|
---
|
|
dracut.sh | 10 +++++++---
|
|
1 file changed, 7 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/dracut.sh b/dracut.sh
|
|
index d25da8e3..f4794d1d 100755
|
|
--- a/dracut.sh
|
|
+++ b/dracut.sh
|
|
@@ -1624,7 +1624,11 @@ fi
|
|
|
|
# strip binaries
|
|
if [[ $do_strip = yes ]] ; then
|
|
- for p in strip xargs find; do
|
|
+ # Prefer strip from elfutils for package size
|
|
+ declare strip_cmd=$(command -v eu-strip)
|
|
+ test -z "$strip_cmd" && strip_cmd="strip"
|
|
+
|
|
+ for p in $strip_cmd xargs find; do
|
|
if ! type -P $p >/dev/null; then
|
|
dinfo "Could not find '$p'. Not stripping the initramfs."
|
|
do_strip=no
|
|
@@ -1636,14 +1640,14 @@ if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then
|
|
dinfo "*** Stripping files ***"
|
|
find "$initdir" -type f \
|
|
-executable -not -path '*/lib/modules/*.ko' -print0 \
|
|
- | xargs -r -0 strip -g 2>/dev/null
|
|
+ | xargs -r -0 $strip_cmd -g 2>/dev/null
|
|
|
|
# strip kernel modules, but do not touch signed modules
|
|
find "$initdir" -type f -path '*/lib/modules/*.ko' -print0 \
|
|
| while read -r -d $'\0' f || [ -n "$f" ]; do
|
|
SIG=$(tail -c 28 "$f" | tr -d '\000')
|
|
[[ $SIG == '~Module signature appended~' ]] || { printf "%s\000" "$f"; }
|
|
- done | xargs -r -0 strip -g
|
|
+ done | xargs -r -0 $strip_cmd -g
|
|
|
|
dinfo "*** Stripping files done ***"
|
|
fi
|
|
--
|
|
2.12.0
|
|
|