From bf46e04614b3740eea4a5e0d44767f57e1cffa4d Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 10 Jan 2011 13:40:31 -0600 Subject: 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 --- lib/libalpm/alpm.h | 1 - lib/libalpm/be_local.c | 16 ---------------- lib/libalpm/be_package.c | 7 ------- lib/libalpm/be_sync.c | 9 --------- lib/libalpm/package.c | 20 -------------------- lib/libalpm/package.h | 2 -- 6 files changed, 55 deletions(-) (limited to 'lib') diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 7c4cd48b..a540bc4f 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -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_close(const pmpkg_t *pkg, void *fp); 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); alpm_list_t *alpm_pkg_unused_deltas(pmpkg_t *pkg); diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c index 5471fee4..ea59ceca 100644 --- a/lib/libalpm/be_local.c +++ b/lib/libalpm/be_local.c @@ -156,12 +156,6 @@ static alpm_list_t *_cache_get_groups(pmpkg_t *pkg) 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) { ALPM_LOG_FUNC; @@ -318,7 +312,6 @@ static struct pkg_operations local_pkg_ops = { .get_size = _cache_get_size, .get_isize = _cache_get_isize, .get_reason = _cache_get_reason, - .get_epoch = _cache_get_epoch, .has_scriptlet = _cache_has_scriptlet, .get_licenses = _cache_get_licenses, .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); 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) { while(fgets(line, sizeof(line), fp) && strlen(_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"); } - if(info->epoch) { - fprintf(fp, "%%EPOCH%%\n" - "%d\n\n", info->epoch); - } if(info->url) { fprintf(fp, "%%URL%%\n" "%s\n\n", info->url); diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index b69161b4..c272bd47 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -184,13 +184,6 @@ static int parse_descfile(struct archive *a, pmpkg_t *newpkg) STRDUP(newpkg->version, ptr, RET_ERR(PM_ERR_MEMORY, -1)); } else if(strcmp(key, "pkgdesc") == 0) { 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) { newpkg->groups = alpm_list_add(newpkg->groups, strdup(ptr)); } else if(strcmp(key, "url") == 0) { diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c index 1e4b2fde..4676e8a6 100644 --- a/lib/libalpm/be_sync.c +++ b/lib/libalpm/be_sync.c @@ -340,15 +340,6 @@ static int sync_db_read(pmdb_t *db, struct archive *archive, READ_AND_STORE(pkg->md5sum); } else if(strcmp(line, "%REPLACES%") == 0) { 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) { /* Different than the rest because of the _alpm_splitdep call. */ while(1) { diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 241c41c0..d4b3b9c0 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -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_isize(pmpkg_t *pkg) { return pkg->isize; } 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 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_isize = _pkg_get_isize, .get_reason = _pkg_get_reason, - .get_epoch = _pkg_get_epoch, .has_scriptlet = _pkg_has_scriptlet, .get_licenses = _pkg_get_licenses, .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); } -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) { return pkg->ops->get_licenses(pkg); @@ -427,7 +420,6 @@ pmpkg_t *_alpm_pkg_dup(pmpkg_t *pkg) newpkg->size = pkg->size; newpkg->isize = pkg->isize; newpkg->scriptlet = pkg->scriptlet; - newpkg->epoch = pkg->epoch; newpkg->reason = pkg->reason; 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? */ int _alpm_pkg_compare_versions(pmpkg_t *spkg, pmpkg_t *localpkg) { - int spkg_epoch, localpkg_epoch; - 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), alpm_pkg_get_version(localpkg)); } diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h index 52582d9b..b161d5f1 100644 --- a/lib/libalpm/package.h +++ b/lib/libalpm/package.h @@ -57,7 +57,6 @@ struct pkg_operations { off_t (*get_size) (pmpkg_t *); off_t (*get_isize) (pmpkg_t *); pmpkgreason_t (*get_reason) (pmpkg_t *); - int (*get_epoch) (pmpkg_t *); int (*has_scriptlet) (pmpkg_t *); alpm_list_t *(*get_licenses) (pmpkg_t *); @@ -107,7 +106,6 @@ struct __pmpkg_t { off_t download_size; int scriptlet; - int epoch; pmpkgreason_t reason; pmpkgfrom_t origin; -- cgit v1.2.3-24-g4f1b