[pacman-dev] [PATCH] makepkg: Remove upx and optipng support

Ashley Whetter ashley at awhetter.co.uk
Sat Feb 20 10:51:19 UTC 2016


Looks good to me.

Ashley

On Sat, 20 Feb 2016 14:05:59 +1000, Allan McRae <allan at archlinux.org> wrote:

> 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 at archlinux.org>
> ---
>  contrib/PKGBUILD.vim                  |  2 +-
>  doc/PKGBUILD.5.txt                    |  6 -----
>  doc/makepkg.conf.5.txt                | 10 +-------
>  etc/makepkg.conf.in                   |  6 ++---
>  scripts/Makefile.am                   |  2 --
>  scripts/libmakepkg/tidy/optipng.sh.in | 44 ---------------------------------
>  scripts/libmakepkg/tidy/upx.sh.in     | 46 -----------------------------------
>  scripts/makepkg.sh.in                 | 16 ------------
>  scripts/po/POTFILES.in                |  2 --
>  9 files changed, 4 insertions(+), 130 deletions(-)
>  delete mode 100644 scripts/libmakepkg/tidy/optipng.sh.in
>  delete mode 100644 scripts/libmakepkg/tidy/upx.sh.in
> 
> diff --git a/contrib/PKGBUILD.vim b/contrib/PKGBUILD.vim
> index 35ca6bd..110bbc7 100644
> --- a/contrib/PKGBUILD.vim
> +++ b/contrib/PKGBUILD.vim
> @@ -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
> diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
> index e410481..e19a81c 100644
> --- a/doc/PKGBUILD.5.txt
> +++ b/doc/PKGBUILD.5.txt
> @@ -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
> diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
> index e35eb8a..5bd3472 100644
> --- a/doc/makepkg.conf.5.txt
> +++ b/doc/makepkg.conf.5.txt
> @@ -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
> diff --git a/etc/makepkg.conf.in b/etc/makepkg.conf.in
> index 71ec624..efac16a 100644
> --- a/etc/makepkg.conf.in
> +++ b/etc/makepkg.conf.in
> @@ -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)
> diff --git a/scripts/Makefile.am b/scripts/Makefile.am
> index d660c0b..6f9abb8 100644
> --- a/scripts/Makefile.am
> +++ b/scripts/Makefile.am
> @@ -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 \
> diff --git a/scripts/libmakepkg/tidy/optipng.sh.in b/scripts/libmakepkg/tidy/optipng.sh.in
> deleted file mode 100644
> index 4c07674..0000000
> --- a/scripts/libmakepkg/tidy/optipng.sh.in
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -#!/bin/bash
> -#
> -#   optipng.sh - Compress PNG files using optpng
> -#
> -#   Copyright (c) 2015-2016 Pacman Development Team <pacman-dev at 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
> -}
> diff --git a/scripts/libmakepkg/tidy/upx.sh.in b/scripts/libmakepkg/tidy/upx.sh.in
> deleted file mode 100644
> index f638335..0000000
> --- a/scripts/libmakepkg/tidy/upx.sh.in
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -#!/bin/bash
> -#
> -#   upx.sh - Compress package binaries with UPX
> -#
> -#   Copyright (c) 2011-2016 Pacman Development Team <pacman-dev at 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
> -}
> diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> index 29ccaad..fc299eb 100644
> --- a/scripts/makepkg.sh.in
> +++ b/scripts/makepkg.sh.in
> @@ -1549,22 +1549,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
> diff --git a/scripts/po/POTFILES.in b/scripts/po/POTFILES.in
> index 3ac5a43..d115d89 100644
> --- a/scripts/po/POTFILES.in
> +++ b/scripts/po/POTFILES.in
> @@ -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
> -- 
> 2.7.1


More information about the pacman-dev mailing list