mirror of
https://codeberg.org/kiss-community/kiss
synced 2024-09-28 12:22:39 -06:00
kiss: strip improvements
- No longer hides errors from strip commands. Some errors may now appear, these are bugs and should be reported. - The whitelist of paths included subdirectories themselves. This has been changed to only glob for files. - Each strip command is now printed to the screen.
This commit is contained in:
parent
a21bba2d14
commit
c22649263e
18
kiss
18
kiss
@ -39,6 +39,12 @@ die() {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run() {
|
||||||
|
# Print the command, then run it.
|
||||||
|
printf '%s\n' "$*"
|
||||||
|
"$@"
|
||||||
|
}
|
||||||
|
|
||||||
contains() {
|
contains() {
|
||||||
# Check if a "string list" contains a word.
|
# Check if a "string list" contains a word.
|
||||||
case " $1 " in *" $2 "*) return 0; esac; return 1
|
case " $1 " in *" $2 "*) return 0; esac; return 1
|
||||||
@ -619,12 +625,13 @@ pkg_strip() {
|
|||||||
# Look only in these locations for files of interest (libraries,
|
# Look only in these locations for files of interest (libraries,
|
||||||
# programs, etc). This includes all subdirectories. Old behavior
|
# programs, etc). This includes all subdirectories. Old behavior
|
||||||
# would run od on all files (upwards of 4000 for Python).
|
# would run od on all files (upwards of 4000 for Python).
|
||||||
*/sbin/?*|*/bin/?*|*/lib/?*|*/lib??/?*|*/lib???/?*|*/lib????/?*)
|
*/sbin/?*[!/]|*/bin/?*[!/]|*/lib/?*[!/]|\
|
||||||
|
*/lib??/?*[!/]|*/lib???/?*[!/]|*/lib????/?*[!/])
|
||||||
|
|
||||||
case $(od -A o -t c -N 18 "$pkg_dir/$1$file") in
|
case $(od -A o -t c -N 18 "$pkg_dir/$1$file") in
|
||||||
# REL (object files (.o), static libraries (.a)).
|
# REL (object files (.o), static libraries (.a)).
|
||||||
*177*E*L*F*0000020\ 001\ *|*\!*\<*a*r*c*h*\>*)
|
*177*E*L*F*0000020\ 001\ *|*\!*\<*a*r*c*h*\>*)
|
||||||
strip -g -R .comment -R .note "$pkg_dir/$1$file"
|
run strip -g -R .comment -R .note "$pkg_dir/$1$file"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# EXEC (binaries), DYN (shared libraries).
|
# EXEC (binaries), DYN (shared libraries).
|
||||||
@ -632,10 +639,10 @@ pkg_strip() {
|
|||||||
# called '.dynsym'. '--strip-all/-s' does not touch the dynamic
|
# called '.dynsym'. '--strip-all/-s' does not touch the dynamic
|
||||||
# symbol entries which makes this safe to do.
|
# symbol entries which makes this safe to do.
|
||||||
*177*E*L*F*0000020\ 00[23]\ *)
|
*177*E*L*F*0000020\ 00[23]\ *)
|
||||||
strip -s -R .comment -R .note "$pkg_dir/$1$file"
|
run strip -s -R .comment -R .note "$pkg_dir/$1$file"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
esac done < "$pkg_dir/$1/$pkg_db/$1/manifest" 2>/dev/null || :
|
esac done < "$pkg_dir/$1/$pkg_db/$1/manifest" || :
|
||||||
}
|
}
|
||||||
|
|
||||||
pkg_fix_deps() {
|
pkg_fix_deps() {
|
||||||
@ -658,7 +665,8 @@ pkg_fix_deps() {
|
|||||||
# Look only in these locations for files of interest (libraries,
|
# Look only in these locations for files of interest (libraries,
|
||||||
# programs, etc). This includes all subdirectories. Old behavior
|
# programs, etc). This includes all subdirectories. Old behavior
|
||||||
# would run ldd on all files (upwards of 4000 for Python).
|
# would run ldd on all files (upwards of 4000 for Python).
|
||||||
*/sbin/?*|*/bin/?*|*/lib/?*|*/lib??/?*|*/lib???/?*|*/lib????/?*)
|
*/sbin/?*[!/]|*/bin/?*[!/]|*/lib/?*[!/]|\
|
||||||
|
*/lib??/?*[!/]|*/lib???/?*[!/]|*/lib????/?*[!/])
|
||||||
|
|
||||||
# The readelf mode requires ldd's output to resolve the library
|
# The readelf mode requires ldd's output to resolve the library
|
||||||
# path for a given file. If ldd fails, silently skip the file.
|
# path for a given file. If ldd fails, silently skip the file.
|
||||||
|
Loading…
Reference in New Issue
Block a user