diff options
author | Allan McRae <allan@archlinux.org> | 2015-02-01 22:09:39 +1000 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2015-02-12 14:00:57 +1000 |
commit | 00da25a5ea3413e128c455fd711cf46692df6159 (patch) | |
tree | ecde71a27ed78798dceb0d889d4f96b9eab73277 | |
parent | bfe9b56e1fe3a0c17fa535acf8d29bbe318c0b8a (diff) | |
download | pacman-00da25a5ea3413e128c455fd711cf46692df6159.tar.xz |
libmakepkg: make package tidy functions extendable
To add a new packaging option, drop a file into libmakepkg/tidy that contains
a 'packaging_options+=('<option>') and a function that implements that
option. The function needs added to the 'tidy_remove' array if it removes
files or the 'tidy_modify' array otherwise.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | scripts/libmakepkg/tidy.sh.in | 27 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/docs.sh.in | 2 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/emptydirs.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/libtool.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/optipng.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/purge.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/staticlibs.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/strip.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/upx.sh.in | 3 | ||||
-rw-r--r-- | scripts/libmakepkg/tidy/zipman.sh.in | 3 |
10 files changed, 38 insertions, 15 deletions
diff --git a/scripts/libmakepkg/tidy.sh.in b/scripts/libmakepkg/tidy.sh.in index b8c2965c..1f439ba2 100644 --- a/scripts/libmakepkg/tidy.sh.in +++ b/scripts/libmakepkg/tidy.sh.in @@ -26,14 +26,14 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'} source "$LIBRARY/util/message.sh" + +declare -a packaging_options tidy_remove tidy_modify + for lib in "$LIBRARY/tidy/"*.sh; do source "$lib" done - -packaging_options=('strip' 'docs' 'libtool' 'staticlibs' 'emptydirs' 'zipman' - 'purge' 'upx' 'optipng' 'debug') -readonly -a packaging_options +readonly -a packaging_options tidy_remove tidy_modify tidy_install() { @@ -41,15 +41,12 @@ tidy_install() { msg "$(gettext "Tidying install...")" # options that remove unwanted files - tidy_docs - tidy_purge - tidy_libtool - tidy_staticlibs - tidy_emptydirs - - # options that reduce file sizes - tidy_zipman - tidy_strip - tidy_upx - tidy_optipng + for func in ${tidy_remove[@]}; do + $func + done + + # options that modify files + for func in ${tidy_modify[@]}; do + $func + done } diff --git a/scripts/libmakepkg/tidy/docs.sh.in b/scripts/libmakepkg/tidy/docs.sh.in index 09b7234c..a9791302 100644 --- a/scripts/libmakepkg/tidy/docs.sh.in +++ b/scripts/libmakepkg/tidy/docs.sh.in @@ -26,6 +26,8 @@ LIBRARY=${LIBRARY:-'@libmakepkgdir@'} source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('docs') +tidy_remove+=('tidy_docs') tidy_docs() { if check_option "docs" "n" && [[ -n ${DOC_DIRS[*]} ]]; then diff --git a/scripts/libmakepkg/tidy/emptydirs.sh.in b/scripts/libmakepkg/tidy/emptydirs.sh.in index 8cdb4b09..c7103e9e 100644 --- a/scripts/libmakepkg/tidy/emptydirs.sh.in +++ b/scripts/libmakepkg/tidy/emptydirs.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('emptydirs') +tidy_remove+=('tidy_emptydirs') + tidy_emptydirs() { if check_option "emptydirs" "n"; then msg2 "$(gettext "Removing empty directories...")" diff --git a/scripts/libmakepkg/tidy/libtool.sh.in b/scripts/libmakepkg/tidy/libtool.sh.in index e1dafe6d..b9c62452 100644 --- a/scripts/libmakepkg/tidy/libtool.sh.in +++ b/scripts/libmakepkg/tidy/libtool.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('libtool') +tidy_remove+=('tidy_libtool') + tidy_libtool() { if check_option "libtool" "n"; then msg2 "$(gettext "Removing "%s" files...")" "libtool" diff --git a/scripts/libmakepkg/tidy/optipng.sh.in b/scripts/libmakepkg/tidy/optipng.sh.in index 1cd74f54..f739a823 100644 --- a/scripts/libmakepkg/tidy/optipng.sh.in +++ b/scripts/libmakepkg/tidy/optipng.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('optipng') +tidy_modify+=('tidy_optipng') + tidy_optipng() { if check_option "optipng" "y"; then msg2 "$(gettext "Optimizing PNG images...")" diff --git a/scripts/libmakepkg/tidy/purge.sh.in b/scripts/libmakepkg/tidy/purge.sh.in index dbc03813..948f001d 100644 --- a/scripts/libmakepkg/tidy/purge.sh.in +++ b/scripts/libmakepkg/tidy/purge.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('purge') +tidy_remove+=('tidy_purge') + tidy_purge() { if check_option "purge" "y" && [[ -n ${PURGE_TARGETS[*]} ]]; then msg2 "$(gettext "Purging unwanted files...")" diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/staticlibs.sh.in index 7dbe8011..4849aba9 100644 --- a/scripts/libmakepkg/tidy/staticlibs.sh.in +++ b/scripts/libmakepkg/tidy/staticlibs.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('staticlibs') +tidy_remove+=('tidy_staticlibs') + tidy_staticlibs() { if check_option "staticlibs" "n"; then msg2 "$(gettext "Removing static library files...")" diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in index 4fe334bd..15d92bee 100644 --- a/scripts/libmakepkg/tidy/strip.sh.in +++ b/scripts/libmakepkg/tidy/strip.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('strip' 'debug') +tidy_modify+=('tidy_strip') + tidy_strip() { if check_option "strip" "y"; then msg2 "$(gettext "Stripping unneeded symbols from binaries and libraries...")" diff --git a/scripts/libmakepkg/tidy/upx.sh.in b/scripts/libmakepkg/tidy/upx.sh.in index 9012cd3e..ec40b2e2 100644 --- a/scripts/libmakepkg/tidy/upx.sh.in +++ b/scripts/libmakepkg/tidy/upx.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('upx') +tidy_modify+=('tidy_upx') + tidy_upx() { if check_option "upx" "y"; then msg2 "$(gettext "Compressing binaries with %s...")" "UPX" diff --git a/scripts/libmakepkg/tidy/zipman.sh.in b/scripts/libmakepkg/tidy/zipman.sh.in index 8557789b..a08a60fa 100644 --- a/scripts/libmakepkg/tidy/zipman.sh.in +++ b/scripts/libmakepkg/tidy/zipman.sh.in @@ -27,6 +27,9 @@ source "$LIBRARY/util/message.sh" source "$LIBRARY/util/option.sh" +packaging_options+=('zipman') +tidy_modify+=('tidy_zipman') + tidy_zipman() { if check_option "zipman" "y" && [[ -n ${MAN_DIRS[*]} ]]; then msg2 "$(gettext "Compressing man and info pages...")" |