mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 07:48:50 -05:00
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>
This commit is contained in:
parent
bfe9b56e1f
commit
00da25a5ea
@ -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
|
||||
for func in ${tidy_remove[@]}; do
|
||||
$func
|
||||
done
|
||||
|
||||
# options that reduce file sizes
|
||||
tidy_zipman
|
||||
tidy_strip
|
||||
tidy_upx
|
||||
tidy_optipng
|
||||
# options that modify files
|
||||
for func in ${tidy_modify[@]}; do
|
||||
$func
|
||||
done
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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...")"
|
||||
|
@ -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"
|
||||
|
@ -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...")"
|
||||
|
@ -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...")"
|
||||
|
@ -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...")"
|
||||
|
@ -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...")"
|
||||
|
@ -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"
|
||||
|
@ -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...")"
|
||||
|
Loading…
Reference in New Issue
Block a user