makepkg: Remove upx and optipng support

These options were added before libmakepkg allowed passes like this to be
dropped in.  I prefer only real core packaging tasks to be included in
makepkg and additional things like this to be dropped in by a user or
distribution that wants to support them.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2016-02-02 11:38:42 +10:00
parent d4f499f563
commit 1a29744d0d
9 changed files with 4 additions and 130 deletions

View File

@ -211,7 +211,7 @@ hi def link pbValidSha512sums Number
" options
syn keyword pb_k_options options contained
syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|purge\|upx\|optipng\|distcc\|color\|ccache\|check\|sign\|makeflags\|buildflags\)/ contained
syn match pbOptions /\(no\)\?\(strip\|docs\|libtool\|emptydirs\|zipman\|purge\|distcc\|color\|ccache\|check\|sign\|makeflags\|buildflags\)/ contained
syn match pbOptionsNeg /\!/ contained
syn match pbOptionsDeprec /no/ contained
syn region pbOptionsGroup start=/^options=(/ end=/)/ contains=pb_k_options,pbOptions,pbOptionsNeg,pbOptionsDeprec,pbIllegalOption

View File

@ -293,12 +293,6 @@ underscore and the architecture name e.g., 'replaces_x86_64=()'.
*zipman*;;
Compress man and info pages with gzip.
*upx*;;
Compress binary executable files using UPX.
*optipng*;;
Optimize PNG images with optipng.
*ccache*;;
Allow the use of ccache during build. More useful in its negative
form `!ccache` with select packages that have problems building

View File

@ -141,7 +141,7 @@ Options
Specify a key to use for GPG signing instead of the default key in the
keyring. Can be overridden with makepkg's '\--key' option.
**OPTIONS=(**strip docs libtool staticlibs emptydirs zipman purge !upx !optipng**)**::
**OPTIONS=(**strip docs libtool staticlibs emptydirs zipman purge**)**::
This array contains options that affect default packaging. They are
equivalent to options that can be placed in the PKGBUILD; the defaults are
shown here. All options should always be left in the array; to enable or
@ -178,14 +178,6 @@ Options
Remove files specified by the `PURGE_TARGETS` variable from the
package.
*upx*;;
Compress binary executable files using UPX. Additional options
can be passed to UPX by specifying the `UPXFLAGS` array variable.
*optipng*;;
Optimize PNG images with optipng. Additional options can be passed
to optipng by specifying the `OPTIPNGFLAGS` array variable.
*debug*;;
Add the user-specified debug flags as specified in DEBUG_CFLAGS and
DEBUG_CXXFLAGS to their counterpart buildflags. Creates a separate

View File

@ -71,7 +71,7 @@ BUILDENV=(!distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !optipng !debug)
# Default: OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@ -81,11 +81,9 @@ BUILDENV=(!distcc color !ccache check !sign)
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- upx: Compress binary executable files using UPX
#-- optipng: Optimize PNG images with optipng
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !upx !optipng !debug)
OPTIONS=(strip docs libtool staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)

View File

@ -85,11 +85,9 @@ LIBMAKEPKG_IN = \
libmakepkg/tidy/docs.sh \
libmakepkg/tidy/emptydirs.sh \
libmakepkg/tidy/libtool.sh \
libmakepkg/tidy/optipng.sh \
libmakepkg/tidy/purge.sh \
libmakepkg/tidy/staticlibs.sh \
libmakepkg/tidy/strip.sh \
libmakepkg/tidy/upx.sh \
libmakepkg/tidy/zipman.sh \
libmakepkg/util.sh \
libmakepkg/util/pkgbuild.sh \

View File

@ -1,44 +0,0 @@
#!/bin/bash
#
# optipng.sh - Compress PNG files using optpng
#
# Copyright (c) 2015-2016 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
[[ -n "$LIBMAKEPKG_TIDY_OPTIPNG_SH" ]] && return
LIBMAKEPKG_TIDY_OPTIPNG_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
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...")"
local png
find . -type f -iname "*.png" 2>/dev/null | while read -r png ; do
if [[ $(file --brief --mime-type "$png") = 'image/png' ]]; then
optipng "${OPTIPNGFLAGS[@]}" "$png" &>/dev/null ||
warning "$(gettext "Could not optimize PNG image : %s")" "${png/$pkgdir\//}"
fi
done
fi
}

View File

@ -1,46 +0,0 @@
#!/bin/bash
#
# upx.sh - Compress package binaries with UPX
#
# Copyright (c) 2011-2016 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
[[ -n "$LIBMAKEPKG_TIDY_UPX_SH" ]] && return
LIBMAKEPKG_TIDY_UPX_SH=1
LIBRARY=${LIBRARY:-'@libmakepkgdir@'}
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"
local binary
find . -type f -perm -u+w 2>/dev/null | while read -r binary ; do
case "$(file --brief --mime-type "$binary")" in
'application/x-executable' | 'application/x-dosexec')
upx "${UPXFLAGS[@]}" "$binary" &>/dev/null ||
warning "$(gettext "Could not compress binary : %s")" "${binary/$pkgdir\//}"
;;
esac
done
fi
}

View File

@ -1556,22 +1556,6 @@ check_software() {
fi
fi
# upx - binary compression
if check_option "upx" "y"; then
if ! type -p upx >/dev/null; then
error "$(gettext "Cannot find the %s binary required for compressing binaries.")" "upx"
ret=1
fi
fi
# optipng - PNG image optimization
if check_option "optipng" "y"; then
if ! type -p optipng >/dev/null; then
error "$(gettext "Cannot find the %s binary required for optimizing PNG images.")" "optipng"
ret=1
fi
fi
# distcc - compilation with distcc
if check_buildoption "distcc" "y"; then
if ! type -p distcc >/dev/null; then

View File

@ -40,11 +40,9 @@ scripts/libmakepkg/tidy.sh.in
scripts/libmakepkg/tidy/docs.sh.in
scripts/libmakepkg/tidy/emptydirs.sh.in
scripts/libmakepkg/tidy/libtool.sh.in
scripts/libmakepkg/tidy/optipng.sh.in
scripts/libmakepkg/tidy/purge.sh.in
scripts/libmakepkg/tidy/staticlibs.sh.in
scripts/libmakepkg/tidy/strip.sh.in
scripts/libmakepkg/tidy/upx.sh.in
scripts/libmakepkg/tidy/zipman.sh.in
scripts/libmakepkg/util/message.sh
scripts/libmakepkg/util/source.sh.in