aboutsummaryrefslogtreecommitdiff
path: root/kiss
diff options
context:
space:
mode:
authornoreply@github.com <noreply@github.com>2019-10-07 13:06:54 +0000
committernoreply@github.com <noreply@github.com>2019-10-07 13:06:54 +0000
commit6d5dc3a8adb66b8dce49de69abb2abbb2e54d5f8 (patch)
tree3e05963441a1097cc662c9b5e43df0428372b60f /kiss
parent11098542bba92a29d5a10cf46b732012978d780b (diff)
parent74e7dc2b6f8eb2d650711233f41f799b9a62ac6b (diff)
downloadcpt-6d5dc3a8adb66b8dce49de69abb2abbb2e54d5f8.tar.gz
Merge pull request #61 from kisslinux/junk
kiss: add options to remove junk files FossilOrigin-Name: 7f2e65478df342d0cb2f2f6860e52e8cb16650813357ad74cbde94227f58c8a2
Diffstat (limited to 'kiss')
-rwxr-xr-xkiss30
1 files changed, 30 insertions, 0 deletions
diff --git a/kiss b/kiss
index 93ba4ed..11e1f4e 100755
--- a/kiss
+++ b/kiss
@@ -304,6 +304,35 @@ pkg_fixdeps() {
rm -f depends-copy
}
+pkg_junk() (
+ # Optionally remove "junk" files from packages. This includes 'info'
+ # files, 'man' pages, gettext files, etc. This is configurable by the
+ # user.
+ #
+ # This funcion runs as a sub-shell to avoid having to 'cd' back to the
+ # prior directory before being able to continue.
+ cd "$pkg_dir/$1"
+
+ # Default list of directories and their contents to be removed from
+ # built packages. This default assumes a prefix of '/usr' though the
+ # user can further configure it to search whatever paths they desire.
+ rm_default=usr/share/doc:usr/share/gtk-doc:usr/share/info:usr/share/polkit-1
+ rm_default=$rm_default:usr/share/gettext:usr/share/locale
+ rm_default=$rm_default:etc/bash_completion.d:usr/share/zsh
+
+ # Split the environment variable on ':' and turn it into an argument
+ # list. This works exactly like '$KISS_PATH'.
+ #
+ # shellcheck disable=2046,2086
+ { IFS=:; set -- ${KISS_RM-$rm_default}; IFS=$old_ifs; }
+
+ # Loop over each junk entry and delete it if it exists.
+ for junk; do
+ [ -e "./$junk" ] && rm -rf "./$junk" &&
+ log "${PWD##*/}" "Removed $junk"
+ done ||:
+)
+
pkg_manifest() (
# Generate the package's manifest file. This is a list of each file
# and directory inside the package. The file is used when uninstalling
@@ -467,6 +496,7 @@ pkg_build() {
pkg_strip "$pkg"
pkg_fixdeps "$pkg"
+ pkg_junk "$pkg"
pkg_manifest "$pkg"
pkg_tar "$pkg"