forked from kiss-community/kiss
kiss-new: Added package stripping.
This commit is contained in:
parent
7f903ff682
commit
303a80c9d9
42
kiss-new
42
kiss-new
@ -319,20 +319,54 @@ pkg_build() {
|
||||
# structure.
|
||||
repo_dir=$(pkg_search "$pkg")
|
||||
|
||||
# Install built packages to a directory under the package name
|
||||
# to avod collisions with other packages.
|
||||
mkdir -p "$pkg_dir/$pkg/var/db/$kiss"
|
||||
|
||||
# Move to the build directory and call the build script.
|
||||
(cd "$mak_dir/$pkg"; "$repo_dir/build" "$pkg_dir") ||
|
||||
(cd "$mak_dir/$pkg"; "$repo_dir/build" "$pkg_dir/$pkg") ||
|
||||
die "[$pkg]: Build failed."
|
||||
|
||||
# Copy the repository files to the package directory.
|
||||
# This acts as the database entry.
|
||||
cp -Rf "$repo_dir" "$pkg_db"
|
||||
cp -Rf "$repo_dir" "$pkg_dir/$pkg/var/db/$kiss"
|
||||
|
||||
log "[$pkg]: Sucessfully built package."
|
||||
|
||||
# Create the manifest file early and make it empty.
|
||||
# This ensure that the manifest is added to the manifest...
|
||||
: > "$pkg_db/$pkg/manifest"
|
||||
: > "$pkg_dir/$pkg/var/db/$kiss/$pkg/manifest"
|
||||
done
|
||||
|
||||
log "Stripping packages..."
|
||||
for pkg; do
|
||||
# Find the package's repository files. This needs to keep
|
||||
# happening as we can't store this data in any kind of data
|
||||
# structure.
|
||||
repo_dir=$(pkg_search "$pkg")
|
||||
|
||||
# Package has stripping disabled, stop here.
|
||||
[ -f "$repo_dir/nostrip" ] && continue
|
||||
|
||||
log "[$pkg]: Stripping binaries and libraries..."
|
||||
|
||||
find "$pkg_dir/$pkg" -type f | while read -r binary; do
|
||||
case $(file -bi "$binary") in
|
||||
application/x-sharedlib*|application/x-pie-executable*)
|
||||
strip_opts=--strip-unneeded
|
||||
;;
|
||||
|
||||
application/x-archive*) strip_opts=--strip-debug ;;
|
||||
application/x-executable*) strip_opts=--strip-all ;;
|
||||
|
||||
*) continue ;;
|
||||
esac
|
||||
|
||||
strip "$strip_opts" "$binary" 2>/dev/null
|
||||
done
|
||||
done
|
||||
|
||||
log "Stripped all binaries and libraries."
|
||||
}
|
||||
|
||||
pkg_checksums() {
|
||||
@ -397,7 +431,7 @@ setup_caching() {
|
||||
die "Couldn't create build directory ($mak_dir)."
|
||||
|
||||
# Package directory.
|
||||
mkdir -p "${pkg_db:=${pkg_dir:=$cac_dir/pkg-$pid}/var/db/$kiss}" ||
|
||||
mkdir -p "${pkg_dir:=$cac_dir/pkg-$pid}" ||
|
||||
die "Couldn't create package directory ($pkg_dir)."
|
||||
|
||||
# Tar directory.
|
||||
|
Loading…
Reference in New Issue
Block a user