Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:GA
dracut.14859
0512-Make-binutils-optional-when-elfutils-are-a...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0512-Make-binutils-optional-when-elfutils-are-available.patch of Package dracut.14859
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
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor