Skip to content

Commit

Permalink
T5589: Nonstripped binaries exists in VyOS
Browse files Browse the repository at this point in the history
  • Loading branch information
Apachez- committed Sep 26, 2023
1 parent fe9d19e commit b6d5529
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 0 deletions.
61 changes: 61 additions & 0 deletions data/live-build-config/hooks/live/99-strip-symbols.chroot
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
#!/bin/sh

#
# Discard symbols and other data from object files.
#
# Reference:
# https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/stripping.html
# https://www.debian.org/doc/debian-policy/ch-files.html
#

# Set variables.
STRIPCMD_REGULAR="strip --remove-section=.comment --remove-section=.note --preserve-dates"
STRIPCMD_DEBUG="strip --strip-debug --remove-section=.comment --remove-section=.note --preserve-dates"
STRIPCMD_UNNEEDED="strip --strip-unneeded --remove-section=.comment --remove-section=.note --preserve-dates"
STRIPDIR_REGULAR="
"
STRIPDIR_DEBUG="
/usr/lib/modules
"
STRIPDIR_UNNEEDED="
/etc/hsflowd/modules
/usr/bin
/usr/lib32
/usr/lib64
/usr/libx32
/usr/sbin
"

# Perform stuff.
echo "Stripping symbols..."

# CMD: strip
for DIR in ${STRIPDIR_REGULAR}; do
echo "Parse dir (strip): ${DIR}"
find ${DIR} -type f -exec file {} \; | grep 'not stripped' | cut -d ":" -f 1 | while read FILE; do
echo "Strip file (strip): ${FILE}"
${STRIPCMD_REGULAR} ${FILE}
done
done

# CMD: strip --strip-debug
for DIR in ${STRIPDIR_DEBUG}; do
echo "Parse dir (strip-debug): ${DIR}"
find ${DIR} -type f -exec file {} \; | grep 'not stripped' | cut -d ":" -f 1 | while read FILE; do
echo "Strip file (strip-debug): ${FILE}"
${STRIPCMD_DEBUG} ${FILE}
done
done

# CMD: strip --strip-unneeded
for DIR in ${STRIPDIR_UNNEEDED}; do
echo "Parse dir (strip-unneeded: ${DIR}"
find ${DIR} -type f -exec file {} \; | grep 'not stripped' | cut -d ":" -f 1 | while read FILE; do
echo "Strip file (strip-unneeded): ${FILE}"
${STRIPCMD_UNNEEDED} ${FILE}
done
done

# Remove binutils package.
apt-get -y purge --autoremove binutils

Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ systemd-sysv
systemd-bootchart
ncurses-term
kitty-terminfo
binutils

0 comments on commit b6d5529

Please sign in to comment.