Remove epoch as an independent field

Instead, go the same route we have always taken with version-release in
libalpm and treat it all as one piece of information. Makepkg is the only
script that knows about epoch as a distinct value; from there on out we will
parse out the components as necessary.

This makes the code a lot simpler as far as epoch handling goes. The
downside here is that we are tossing some compatibility to the wind;
packages using force will have to be rebuilt with an incremented epoch to
keep their special status.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-01-10 13:40:31 -06:00
parent 5c46ba14f7
commit bf46e04614
22 changed files with 26 additions and 132 deletions

View File

@ -220,12 +220,6 @@ while read i; do
%REPLACES%) %REPLACES%)
echo "replaces = $i" >> .PKGINFO echo "replaces = $i" >> .PKGINFO
;; ;;
%EPOCH%)
echo "epoch = $i" >> .PKGINFO
;;
%FORCE%)
echo "force = true" >> .PKGINFO
;;
# files # files
%BACKUP%) %BACKUP%)

View File

@ -45,7 +45,7 @@ similar to `$_basekernver`.
*pkgver*:: *pkgver*::
The version of the software as released from the author (e.g. '2.7.1'). The version of the software as released from the author (e.g. '2.7.1').
The variable is not allowed to contain hyphens. The variable is not allowed to contain colons or hyphens.
*pkgrel*:: *pkgrel*::
This is the release number specific to the Arch Linux release. This This is the release number specific to the Arch Linux release. This

View File

@ -238,7 +238,6 @@ size_t alpm_pkg_changelog_read(void *ptr, size_t size,
/*int alpm_pkg_changelog_feof(const pmpkg_t *pkg, void *fp);*/ /*int alpm_pkg_changelog_feof(const pmpkg_t *pkg, void *fp);*/
int alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp); int alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp);
int alpm_pkg_has_scriptlet(pmpkg_t *pkg); int alpm_pkg_has_scriptlet(pmpkg_t *pkg);
int alpm_pkg_get_epoch(pmpkg_t *pkg);
off_t alpm_pkg_download_size(pmpkg_t *newpkg); off_t alpm_pkg_download_size(pmpkg_t *newpkg);
alpm_list_t *alpm_pkg_unused_deltas(pmpkg_t *pkg); alpm_list_t *alpm_pkg_unused_deltas(pmpkg_t *pkg);

View File

@ -156,12 +156,6 @@ static alpm_list_t *_cache_get_groups(pmpkg_t *pkg)
return pkg->groups; return pkg->groups;
} }
static int _cache_get_epoch(pmpkg_t *pkg)
{
LAZY_LOAD(INFRQ_DESC, -1);
return pkg->epoch;
}
static int _cache_has_scriptlet(pmpkg_t *pkg) static int _cache_has_scriptlet(pmpkg_t *pkg)
{ {
ALPM_LOG_FUNC; ALPM_LOG_FUNC;
@ -318,7 +312,6 @@ static struct pkg_operations local_pkg_ops = {
.get_size = _cache_get_size, .get_size = _cache_get_size,
.get_isize = _cache_get_isize, .get_isize = _cache_get_isize,
.get_reason = _cache_get_reason, .get_reason = _cache_get_reason,
.get_epoch = _cache_get_epoch,
.has_scriptlet = _cache_has_scriptlet, .has_scriptlet = _cache_has_scriptlet,
.get_licenses = _cache_get_licenses, .get_licenses = _cache_get_licenses,
.get_groups = _cache_get_groups, .get_groups = _cache_get_groups,
@ -606,11 +599,6 @@ int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
STRDUP(linedup, _alpm_strtrim(line), goto error); STRDUP(linedup, _alpm_strtrim(line), goto error);
info->replaces = alpm_list_add(info->replaces, linedup); info->replaces = alpm_list_add(info->replaces, linedup);
} }
} else if(strcmp(line, "%EPOCH%") == 0) {
if(fgets(line, sizeof(line), fp) == NULL) {
goto error;
}
info->epoch = atoi(_alpm_strtrim(line));
} else if(strcmp(line, "%DEPENDS%") == 0) { } else if(strcmp(line, "%DEPENDS%") == 0) {
while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) { while(fgets(line, sizeof(line), fp) && strlen(_alpm_strtrim(line))) {
pmdepend_t *dep = _alpm_splitdep(_alpm_strtrim(line)); pmdepend_t *dep = _alpm_splitdep(_alpm_strtrim(line));
@ -767,10 +755,6 @@ int _alpm_local_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
} }
fprintf(fp, "\n"); fprintf(fp, "\n");
} }
if(info->epoch) {
fprintf(fp, "%%EPOCH%%\n"
"%d\n\n", info->epoch);
}
if(info->url) { if(info->url) {
fprintf(fp, "%%URL%%\n" fprintf(fp, "%%URL%%\n"
"%s\n\n", info->url); "%s\n\n", info->url);

View File

@ -184,13 +184,6 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg)
STRDUP(newpkg->version, ptr, RET_ERR(PM_ERR_MEMORY, -1)); STRDUP(newpkg->version, ptr, RET_ERR(PM_ERR_MEMORY, -1));
} else if(strcmp(key, "pkgdesc") == 0) { } else if(strcmp(key, "pkgdesc") == 0) {
STRDUP(newpkg->desc, ptr, RET_ERR(PM_ERR_MEMORY, -1)); STRDUP(newpkg->desc, ptr, RET_ERR(PM_ERR_MEMORY, -1));
} else if(strcmp(key, "force") == 0) {
/* For backward compatibility, like in sync_db_read */
if(!newpkg->epoch) {
newpkg->epoch = 1;
}
} else if(strcmp(key, "epoch") == 0) {
newpkg->epoch = atoi(ptr);
} else if(strcmp(key, "group") == 0) { } else if(strcmp(key, "group") == 0) {
newpkg->groups = alpm_list_add(newpkg->groups, strdup(ptr)); newpkg->groups = alpm_list_add(newpkg->groups, strdup(ptr));
} else if(strcmp(key, "url") == 0) { } else if(strcmp(key, "url") == 0) {

View File

@ -340,15 +340,6 @@ static int sync_db_read(pmdb_t *db, struct archive *archive,
READ_AND_STORE(pkg->md5sum); READ_AND_STORE(pkg->md5sum);
} else if(strcmp(line, "%REPLACES%") == 0) { } else if(strcmp(line, "%REPLACES%") == 0) {
READ_AND_STORE_ALL(pkg->replaces); READ_AND_STORE_ALL(pkg->replaces);
} else if(strcmp(line, "%EPOCH%") == 0) {
READ_NEXT(line);
pkg->epoch = atoi(line);
} else if(strcmp(line, "%FORCE%") == 0) {
/* For backward compatibility, treat force as a non-zero epoch
* but only if we didn't already have a known epoch value. */
if(!pkg->epoch) {
pkg->epoch = 1;
}
} else if(strcmp(line, "%DEPENDS%") == 0) { } else if(strcmp(line, "%DEPENDS%") == 0) {
/* Different than the rest because of the _alpm_splitdep call. */ /* Different than the rest because of the _alpm_splitdep call. */
while(1) { while(1) {

View File

@ -110,7 +110,6 @@ static const char *_pkg_get_arch(pmpkg_t *pkg) { return pkg->arch; }
static off_t _pkg_get_size(pmpkg_t *pkg) { return pkg->size; } static off_t _pkg_get_size(pmpkg_t *pkg) { return pkg->size; }
static off_t _pkg_get_isize(pmpkg_t *pkg) { return pkg->isize; } static off_t _pkg_get_isize(pmpkg_t *pkg) { return pkg->isize; }
static pmpkgreason_t _pkg_get_reason(pmpkg_t *pkg) { return pkg->reason; } static pmpkgreason_t _pkg_get_reason(pmpkg_t *pkg) { return pkg->reason; }
static int _pkg_get_epoch(pmpkg_t *pkg) { return pkg->epoch; }
static int _pkg_has_scriptlet(pmpkg_t *pkg) { return pkg->scriptlet; } static int _pkg_has_scriptlet(pmpkg_t *pkg) { return pkg->scriptlet; }
static alpm_list_t *_pkg_get_licenses(pmpkg_t *pkg) { return pkg->licenses; } static alpm_list_t *_pkg_get_licenses(pmpkg_t *pkg) { return pkg->licenses; }
@ -141,7 +140,6 @@ struct pkg_operations default_pkg_ops = {
.get_size = _pkg_get_size, .get_size = _pkg_get_size,
.get_isize = _pkg_get_isize, .get_isize = _pkg_get_isize,
.get_reason = _pkg_get_reason, .get_reason = _pkg_get_reason,
.get_epoch = _pkg_get_epoch,
.has_scriptlet = _pkg_has_scriptlet, .has_scriptlet = _pkg_has_scriptlet,
.get_licenses = _pkg_get_licenses, .get_licenses = _pkg_get_licenses,
.get_groups = _pkg_get_groups, .get_groups = _pkg_get_groups,
@ -223,11 +221,6 @@ pmpkgreason_t SYMEXPORT alpm_pkg_get_reason(pmpkg_t *pkg)
return pkg->ops->get_reason(pkg); return pkg->ops->get_reason(pkg);
} }
int SYMEXPORT alpm_pkg_get_epoch(pmpkg_t *pkg)
{
return pkg->ops->get_epoch(pkg);
}
alpm_list_t SYMEXPORT *alpm_pkg_get_licenses(pmpkg_t *pkg) alpm_list_t SYMEXPORT *alpm_pkg_get_licenses(pmpkg_t *pkg)
{ {
return pkg->ops->get_licenses(pkg); return pkg->ops->get_licenses(pkg);
@ -427,7 +420,6 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg)
newpkg->size = pkg->size; newpkg->size = pkg->size;
newpkg->isize = pkg->isize; newpkg->isize = pkg->isize;
newpkg->scriptlet = pkg->scriptlet; newpkg->scriptlet = pkg->scriptlet;
newpkg->epoch = pkg->epoch;
newpkg->reason = pkg->reason; newpkg->reason = pkg->reason;
newpkg->licenses = alpm_list_strdup(pkg->licenses); newpkg->licenses = alpm_list_strdup(pkg->licenses);
@ -518,20 +510,8 @@ void _alpm_pkg_free_trans(pmpkg_t *pkg)
/* Is spkg an upgrade for localpkg? */ /* Is spkg an upgrade for localpkg? */
int _alpm_pkg_compare_versions(pmpkg_t *spkg, pmpkg_t *localpkg) int _alpm_pkg_compare_versions(pmpkg_t *spkg, pmpkg_t *localpkg)
{ {
int spkg_epoch, localpkg_epoch;
ALPM_LOG_FUNC; ALPM_LOG_FUNC;
spkg_epoch = alpm_pkg_get_epoch(spkg);
localpkg_epoch = alpm_pkg_get_epoch(localpkg);
if(spkg_epoch > localpkg_epoch) {
return(1);
} else if(spkg_epoch < localpkg_epoch) {
return(-1);
}
/* equal epoch values, move on to version comparison */
return alpm_pkg_vercmp(alpm_pkg_get_version(spkg), return alpm_pkg_vercmp(alpm_pkg_get_version(spkg),
alpm_pkg_get_version(localpkg)); alpm_pkg_get_version(localpkg));
} }

View File

@ -57,7 +57,6 @@ struct pkg_operations {
off_t (*get_size) (pmpkg_t *); off_t (*get_size) (pmpkg_t *);
off_t (*get_isize) (pmpkg_t *); off_t (*get_isize) (pmpkg_t *);
pmpkgreason_t (*get_reason) (pmpkg_t *); pmpkgreason_t (*get_reason) (pmpkg_t *);
int (*get_epoch) (pmpkg_t *);
int (*has_scriptlet) (pmpkg_t *); int (*has_scriptlet) (pmpkg_t *);
alpm_list_t *(*get_licenses) (pmpkg_t *); alpm_list_t *(*get_licenses) (pmpkg_t *);
@ -107,7 +106,6 @@ struct __pmpkg_t {
off_t download_size; off_t download_size;
int scriptlet; int scriptlet;
int epoch;
pmpkgreason_t reason; pmpkgreason_t reason;
pmpkgfrom_t origin; pmpkgfrom_t origin;

View File

@ -935,9 +935,12 @@ write_pkginfo() {
echo "# $(LC_ALL=C date -u)" echo "# $(LC_ALL=C date -u)"
echo "pkgname = $1" echo "pkgname = $1"
(( SPLITPKG )) && echo pkgbase = $pkgbase (( SPLITPKG )) && echo pkgbase = $pkgbase
echo "pkgver = $pkgver-$pkgrel" if [[ $epoch ]]; then
echo "pkgver = $epoch:$pkgver-$pkgrel"
else
echo "pkgver = $pkgver-$pkgrel"
fi
echo "pkgdesc = $pkgdesc" echo "pkgdesc = $pkgdesc"
[[ $epoch ]] && echo "epoch = $epoch"
echo "url = $url" echo "url = $url"
echo "builddate = $builddate" echo "builddate = $builddate"
echo "packager = $packager" echo "packager = $packager"

View File

@ -190,7 +190,7 @@ db_write_entry()
{ {
# blank out all variables # blank out all variables
local pkgfile="$1" local pkgfile="$1"
local pkgname pkgver pkgdesc epoch csize size md5sum url arch builddate packager force \ local pkgname pkgver pkgdesc csize size md5sum url arch builddate packager \
_groups _licenses _replaces _depends _conflicts _provides _optdepends _groups _licenses _replaces _depends _conflicts _provides _optdepends
local OLDIFS="$IFS" local OLDIFS="$IFS"
@ -274,12 +274,6 @@ db_write_entry()
[[ -n $builddate ]] && echo -e "%BUILDDATE%\n$builddate\n" >>desc [[ -n $builddate ]] && echo -e "%BUILDDATE%\n$builddate\n" >>desc
[[ -n $packager ]] && echo -e "%PACKAGER%\n$packager\n" >>desc [[ -n $packager ]] && echo -e "%PACKAGER%\n$packager\n" >>desc
write_list_entry "REPLACES" "$_replaces" "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 # create depends entry
msg2 "$(gettext "Creating 'depends' db entry...")" msg2 "$(gettext "Creating 'depends' db entry...")"

View File

@ -156,11 +156,6 @@ def db_read(self, name):
pkg.md5sum = fd.readline().strip("\n") pkg.md5sum = fd.readline().strip("\n")
elif line == "%REPLACES%": elif line == "%REPLACES%":
pkg.replaces = _getsection(fd) pkg.replaces = _getsection(fd)
elif line == "%EPOCH%":
pkg.epoch = int(fd.readline().strip("\n"))
elif line == "%FORCE%":
fd.readline()
pkg.force = True
elif line == "%DEPENDS%": elif line == "%DEPENDS%":
pkg.depends = _getsection(fd) pkg.depends = _getsection(fd)
elif line == "%OPTDEPENDS%": elif line == "%OPTDEPENDS%":
@ -250,19 +245,10 @@ def db_write(self, pkg):
data.append(_mksection("SIZE", pkg.size)) data.append(_mksection("SIZE", pkg.size))
if pkg.reason: if pkg.reason:
data.append(_mksection("REASON", pkg.reason)) data.append(_mksection("REASON", pkg.reason))
if pkg.epoch:
data.append(_mksection("EPOCH", pkg.epoch))
else: else:
data.append(_mksection("FILENAME", pkg.filename())) data.append(_mksection("FILENAME", pkg.filename()))
if pkg.replaces: if pkg.replaces:
data.append(_mksection("REPLACES", pkg.replaces)) data.append(_mksection("REPLACES", pkg.replaces))
if pkg.epoch:
data.append(_mksection("EPOCH", pkg.epoch))
# for backward compatibility
if not pkg.force:
data.append(_mksection("FORCE", ""))
if pkg.force:
data.append(_mksection("FORCE", ""))
if pkg.csize: if pkg.csize:
data.append(_mksection("CSIZE", pkg.csize)) data.append(_mksection("CSIZE", pkg.csize))
if pkg.md5sum: if pkg.md5sum:

View File

@ -49,8 +49,6 @@ def __init__(self, name, version = "1.0-1"):
self.reason = 0 self.reason = 0
self.md5sum = "" # sync only self.md5sum = "" # sync only
self.replaces = [] self.replaces = []
self.force = False
self.epoch = 0
self.depends = [] self.depends = []
self.optdepends = [] self.optdepends = []
self.conflicts = [] self.conflicts = []
@ -132,10 +130,6 @@ def makepkg(self, path):
data.append("builddate = %s" % self.builddate) data.append("builddate = %s" % self.builddate)
data.append("packager = %s" % self.packager) data.append("packager = %s" % self.packager)
data.append("size = %s" % self.size) data.append("size = %s" % self.size)
if self.force:
data.append("force = true")
if self.epoch:
data.append("epoch = %d" % self.epoch)
if self.arch: if self.arch:
data.append("arch = %s" % self.arch) data.append("arch = %s" % self.arch)
for i in self.license: for i in self.license:

View File

@ -78,9 +78,6 @@ def check(self, root, retcode, localdb, files):
elif case == "VERSION": elif case == "VERSION":
if value != newpkg.version: if value != newpkg.version:
success = 0 success = 0
elif case == "EPOCH":
if int(value) != newpkg.epoch:
success = 0
elif case == "DESC": elif case == "DESC":
if value != newpkg.desc: if value != newpkg.desc:
success = 0 success = 0

View File

@ -1,7 +1,6 @@
self.description = "Sysupgrade with a sync package having higher epoch" self.description = "Sysupgrade with a sync package having higher epoch"
sp = pmpkg("dummy", "1.0-1") sp = pmpkg("dummy", "1:1.0-1")
sp.epoch = 1
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
lp = pmpkg("dummy", "1.1-1") lp = pmpkg("dummy", "1.1-1")
@ -10,5 +9,4 @@
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=dummy|1.0-1") self.addrule("PKG_VERSION=dummy|1:1.0-1")
self.addrule("PKG_EPOCH=dummy|1")

View File

@ -3,12 +3,10 @@
lp = pmpkg("dummy", "1.0-1") lp = pmpkg("dummy", "1.0-1")
self.addpkg2db("local", lp) self.addpkg2db("local", lp)
sp = pmpkg("dummy", "1.0-2") sp = pmpkg("dummy", "1:1.0-2")
sp.epoch = 1
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
self.args = "-Su --ignore %s" % lp.name self.args = "-Su --ignore %s" % lp.name
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=dummy|1.0-1") self.addrule("PKG_VERSION=dummy|1.0-1")
self.addrule("PKG_EPOCH=dummy|0")

View File

@ -1,15 +1,12 @@
self.description = "Sysupgrade with an epoch package overriding a force package" self.description = "Sysupgrade with an epoch package overriding a force package"
sp = pmpkg("dummy", "1.4-1") sp = pmpkg("dummy", "2:1.4-1")
sp.epoch = 2
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
lp = pmpkg("dummy", "2.0-1") lp = pmpkg("dummy", "1:2.0-1")
lp.force = True
self.addpkg2db("local", lp) self.addpkg2db("local", lp)
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=dummy|1.4-1") self.addrule("PKG_VERSION=dummy|2:1.4-1")
self.addrule("PKG_EPOCH=dummy|2")

View File

@ -1,19 +1,16 @@
self.description = "Sysupgrade with same version, different epochs" self.description = "Sysupgrade with same version, different epochs"
sp = pmpkg("dummy", "2.0-1") sp = pmpkg("dummy", "2:2.0-1")
sp.files = ["bin/dummynew"] sp.files = ["bin/dummynew"]
sp.epoch = 2
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
lp = pmpkg("dummy", "2.0-1") lp = pmpkg("dummy", "1:2.0-1")
lp.files = ["bin/dummyold"] lp.files = ["bin/dummyold"]
lp.force = True
self.addpkg2db("local", lp) self.addpkg2db("local", lp)
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=dummy|2.0-1") self.addrule("PKG_VERSION=dummy|2:2.0-1")
self.addrule("FILE_EXIST=bin/dummynew") self.addrule("FILE_EXIST=bin/dummynew")
self.addrule("!FILE_EXIST=bin/dummyold") self.addrule("!FILE_EXIST=bin/dummyold")
self.addrule("PKG_EPOCH=dummy|2")

View File

@ -1,7 +1,6 @@
self.description = "usbutils case study: force in new package" self.description = "usbutils case study: force in new package"
sp = pmpkg("usbutils", "001-1") sp = pmpkg("usbutils", "1:001-1")
sp.force = True
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
lp = pmpkg("usbutils", "0.91-4") lp = pmpkg("usbutils", "0.91-4")
@ -10,5 +9,4 @@
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=usbutils|001-1") self.addrule("PKG_VERSION=usbutils|1:001-1")
self.addrule("PKG_EPOCH=usbutils|1")

View File

@ -1,15 +1,12 @@
self.description = "usbutils case study: force stays, epoch now in local db" self.description = "usbutils case study: force stays, epoch now in local db"
sp = pmpkg("usbutils", "002-1") sp = pmpkg("usbutils", "1:002-1")
sp.force = True
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
lp = pmpkg("usbutils", "001-1") lp = pmpkg("usbutils", "1:001-1")
lp.epoch = 1
self.addpkg2db("local", lp) self.addpkg2db("local", lp)
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=usbutils|002-1") self.addrule("PKG_VERSION=usbutils|1:002-1")
self.addrule("PKG_EPOCH=usbutils|1")

View File

@ -3,13 +3,11 @@
sp = pmpkg("usbutils", "003-1") sp = pmpkg("usbutils", "003-1")
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
lp = pmpkg("usbutils", "002-1") lp = pmpkg("usbutils", "1:002-1")
lp.epoch = 1
self.addpkg2db("local", lp) self.addpkg2db("local", lp)
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
# remember, this is how we have to handle this- 003 will not be installed # remember, this is how we have to handle this- 003 will not be installed
self.addrule("PKG_VERSION=usbutils|002-1") self.addrule("PKG_VERSION=usbutils|1:002-1")
self.addrule("PKG_EPOCH=usbutils|1")

View File

@ -1,7 +1,6 @@
self.description = "Sysupgrade with a sync package forcing a downgrade" self.description = "Sysupgrade with a sync package forcing a downgrade"
sp = pmpkg("dummy", "1.0-1") sp = pmpkg("dummy", "1:1.0-1")
sp.force = True
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
@ -12,4 +11,4 @@
self.args = "-Su" self.args = "-Su"
self.addrule("PACMAN_RETCODE=0") self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_VERSION=dummy|1.0-1") self.addrule("PKG_VERSION=dummy|1:1.0-1")

View File

@ -4,8 +4,7 @@
self.addpkg2db("local", lp) self.addpkg2db("local", lp)
sp = pmpkg("dummy", "1.0-2") sp = pmpkg("dummy", "1:1.0-2")
sp.force = True
self.addpkg2db("sync", sp) self.addpkg2db("sync", sp)
self.args = "-Su --ignore %s" % lp.name self.args = "-Su --ignore %s" % lp.name