makepkg: add functions for backup and restore of package fields

Adds functions for the backup and restoration of package variables
that can be over-ridden during package splitting.  Variables which
can be overridden are given in the splitpkg_overrides variable.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2009-01-16 22:22:04 +10:00
parent 08034ceb17
commit 9804911c5f
1 changed files with 22 additions and 1 deletions

View File

@ -42,9 +42,12 @@ BUILDSCRIPT='@BUILDSCRIPT@'
startdir="$PWD"
srcdir="$startdir/src"
pkgdir="$startdir/pkg"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge')
other_options=('ccache' 'distcc' 'makeflags' 'force')
readonly -a packaging_options other_options
splitpkg_overrides=('pkgdesc' 'license' 'groups' 'depends' 'optdepends' 'provides' \
'conflicts' 'replaces' 'backup' 'options' 'install')
readonly -a packaging_options other_options splitpkg_overrides
# Options
ASROOT=0
@ -1179,6 +1182,24 @@ devel_update() {
fi
}
backup_package_variables() {
for var in ${splitpkg_overrides[@]}; do
indirect="${var}_backup"
eval "${indirect}=\"${!var}\""
done
}
restore_package_variables() {
for var in ${splitpkg_overrides[@]}; do
indirect="${var}_backup"
if [ -n "${!indirect}" ]; then
eval "${var}=\"${!indirect}\""
else
unset ${var}
fi
done
}
# getopt like parser
parse_options() {
local short_options=$1; shift;