]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - lfs/strip
kernel: update 4.14.113
[ipfire-2.x.git] / lfs / strip
index 169419e8a8291368e2764da46d547c351c45ba24..08aaee7c4b10390fac938206491bcb13cd1809f4 100644 (file)
--- a/lfs/strip
+++ b/lfs/strip
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -29,6 +29,16 @@ VER = ipfire
 THISAPP    = strip
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+ifeq "$(TOOLCHAIN)" "1"
+       SHELL = /bin/bash
+       STRIP = /usr/bin/strip
+       ROOT = $(TOOLS_DIR)
+else
+       SHELL = $(TOOLS_DIR)/bin/bash
+       STRIP = $(TOOLS_DIR)/bin/strip
+       ROOT = /
+endif
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -46,25 +56,9 @@ md5 :
 ###############################################################################
 
 $(TARGET) :
-
-ifeq "$(LFS_PASS)" "toolchain"
-       -find $(TOOLS_DIR)/lib -type f -exec $(TOOLS_DIR)/bin/strip --strip-debug '{}' ';'
-       -find $(TOOLS_DIR)/{bin,sbin,libexec} -type f -exec $(TOOLS_DIR)/bin/strip --strip-all '{}' ';'
-       rm -rf $(TOOLS_DIR)/{,share/}{doc,info,man}
-endif
-
-ifeq "$(LFS_PASS)" "install"
-       # Add -ls before -exec if you want to verify what files are in the path to be stripped
-       # A running binary can't be stripped, so use the version from /tools
-       # It may fail (signal 11) under circonstance not identified by me (Gilles),
-       # to strip libc again so ignore the error now. Probably need a static strip for libc
-       # Don't use --strip-all on libraries, or they'll be destroyed. Don't use --strip-unneeded, either.
-       -/tools/bin/find /lib /usr/lib /usr/share/rrdtool-* /install/initrd/lib \
-               -type f \( -name '*.so' -o -name '*.so[\.0-9]*' \) \
-               -exec /tools/bin/strip --strip-debug {} \; 2>/dev/null
-
-       -/tools/bin/strip --strip-all /{,usr/}{,local/}{bin,sbin}/* /install/{initrd,misc}/bin/* /usr/lib/cyrus/* 2>/dev/null
-       -/tools/bin/strip --strip-all /usr/lib/awk/{grcat,pwcat} 2>/dev/null
-       -/tools/bin/strip --strip-all /usr/lib/gcc/*-linux-gnu/4.0.4/{cc1*,collect2} 2>/dev/null
-endif
-
+       # Don't strip VDR binaries, because they use a weird plugin system
+       # which does not work when unneeded symbols get stripped from
+       # /usr/sbin/vdr.
+       STRIP=$(STRIP) $(SHELL) $(DIR_SRC)/src/stripper $(ROOT) \
+               --exclude=/usr/src --exclude=$(TOOLS_DIR) \
+               --exclude=/usr/sbin/vdr --exclude=/usr/lib/vdr