[pacman-dev] [PATCH 3/5] Make repo-add and makepkg epoch-aware

Dan McGee dan at archlinux.org
Fri Oct 8 11:02:46 EDT 2010


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 at archlinux.org>
---
 scripts/makepkg.sh.in  |    6 ++----
 scripts/repo-add.sh.in |    7 ++++++-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 3a7a4d1..c4b2dfc 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 8ef940d..626de23 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -185,7 +185,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"
@@ -262,6 +262,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
-- 
1.7.3.1



More information about the pacman-dev mailing list