Make repo-add and makepkg epoch-aware

Allow it to be a variable in the PKGBUILD as well as propagating it through
to the built package and the package database. We leave some backward
compatibility in place by placing the '%FORCE%' option in the database if
the package contains an epoch; this will be used by older versions of pacman
and more or less ignored by versions that use epoch.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2010-10-08 09:44:22 -05:00
parent 42893e7165
commit 6f37ba61ed
2 changed files with 8 additions and 5 deletions

View file

@ -45,7 +45,7 @@ srcdir="$startdir/src"
pkgdir="$startdir/pkg"
packaging_options=('strip' 'docs' 'libtool' 'emptydirs' 'zipman' 'purge')
other_options=('ccache' 'distcc' 'makeflags' 'force')
other_options=('ccache' 'distcc' 'makeflags')
splitpkg_overrides=('pkgver' 'pkgrel' 'pkgdesc' 'arch' 'license' 'groups' \
'depends' 'optdepends' 'provides' 'conflicts' 'replaces' \
'backup' 'options' 'install' 'changelog')
@ -923,14 +923,12 @@ write_pkginfo() {
(( SPLITPKG )) && echo pkgbase = $pkgbase
echo "pkgver = $pkgver-$pkgrel"
echo "pkgdesc = $pkgdesc"
[[ $epoch ]] && echo "epoch = $epoch"
echo "url = $url"
echo "builddate = $builddate"
echo "packager = $packager"
echo "size = $size"
echo "arch = $PKGARCH"
if [[ $(check_option force) = "y" ]]; then
echo "force = true"
fi
[[ $license ]] && printf "license = %s\n" "${license[@]}"
[[ $replaces ]] && printf "replaces = %s\n" "${replaces[@]}"

View file

@ -188,7 +188,7 @@ db_write_entry()
{
# blank out all variables
local pkgfile="$1"
local pkgname pkgver pkgdesc csize size md5sum url arch builddate packager force \
local pkgname pkgver pkgdesc epoch csize size md5sum url arch builddate packager force \
_groups _licenses _replaces _depends _conflicts _provides _optdepends
local OLDIFS="$IFS"
@ -273,6 +273,11 @@ db_write_entry()
[[ -n $builddate ]] && echo -e "%BUILDDATE%\n$builddate\n" >>desc
[[ -n $packager ]] && echo -e "%PACKAGER%\n$packager\n" >>desc
write_list_entry "REPLACES" "$_replaces" "desc"
# remain backward-compatible for now; put a force entry in the database
if [[ -n $epoch ]]; then
echo -e "%EPOCH%\n#epoch\n" >>desc
echo -e "%FORCE%\n" >>desc
fi
[[ -n $force ]] && echo -e "%FORCE%\n" >>desc
# create depends entry