summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2010-10-08 09:44:22 -0500
committerDan McGee <dan@archlinux.org>2010-10-13 23:29:26 -0500
commit6f37ba61ed79876b23d3328185186d9ac0c3332c (patch)
tree82941599b4dd385c30c2bc4f67523b518e52357d
parent42893e7165e3db0bf068611d5a4164926adcf43a (diff)
downloadpacman-6f37ba61ed79876b23d3328185186d9ac0c3332c.tar.xz
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>
-rw-r--r--scripts/makepkg.sh.in6
-rw-r--r--scripts/repo-add.sh.in7
2 files changed, 8 insertions, 5 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 9220032c..136797a0 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -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[@]}"
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index d3e3bc82..d09d1b48 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -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