1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 15:58:50 -05:00

* Unifying placement of REPLACES in desc file, as pacman2 does. We'll worry

about bigger DB changes later, but lets not screw anything up for release.
* Removed some weird uses of "not ... ==" usage in pactest- correct me if I'm
  wrong, but isn't "!=" a lot more clean and concise?
* Print description of failed tests in the pactest summary. This could get
  dirty with a lot of failed tests though, so watch out.
This commit is contained in:
Dan McGee 2007-02-28 16:37:24 +00:00
parent bdac910589
commit 13e2111045
7 changed files with 42 additions and 33 deletions

View File

@ -365,10 +365,6 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
if(fgets(info->md5sum, sizeof(info->md5sum), fp) == NULL) { if(fgets(info->md5sum, sizeof(info->md5sum), fp) == NULL) {
goto error; goto error;
} }
/* XXX: these are only here as backwards-compatibility for pacman 2.x
* sync repos.... in pacman3, they have been moved to DEPENDS.
* Remove this when we move to pacman3 repos.
*/
} else if(!strcmp(line, "%REPLACES%")) { } else if(!strcmp(line, "%REPLACES%")) {
/* the REPLACES tag is special -- it only appears in sync repositories, /* the REPLACES tag is special -- it only appears in sync repositories,
* not the local one. */ * not the local one. */
@ -434,17 +430,20 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) { while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
info->provides = alpm_list_add(info->provides, strdup(line)); info->provides = alpm_list_add(info->provides, strdup(line));
} }
} else if(!strcmp(line, "%REPLACES%")) { }
/* the REPLACES tag is special -- it only appears in sync repositories, /* TODO: we were going to move these things here, but it should wait.
* not the local one. */ * A better change would be to figure out how to restructure the DB. */
/* else if(!strcmp(line, "%REPLACES%")) {
* the REPLACES tag is special -- it only appears in sync repositories,
* not the local one. *
while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) { while(fgets(line, 512, fp) && strlen(_alpm_strtrim(line))) {
info->replaces = alpm_list_add(info->replaces, strdup(line)); info->replaces = alpm_list_add(info->replaces, strdup(line));
} }
} else if(!strcmp(line, "%FORCE%")) { } else if(!strcmp(line, "%FORCE%")) {
/* FORCE tag only appears in sync repositories, * FORCE tag only appears in sync repositories,
* not the local one. */ * not the local one. *
info->force = 1; info->force = 1;
} } */
} }
fclose(fp); fclose(fp);
fp = NULL; fp = NULL;

View File

@ -178,7 +178,8 @@ int _alpm_pkg_cmp(const void *p1, const void *p2)
} }
/* Parses the package description file for the current package /* Parses the package description file for the current package
* * TODO: this should ALL be in a backend interface (be_files), we should
* be dealing with the abstracted concepts only in this file
* Returns: 0 on success, 1 on error * Returns: 0 on success, 1 on error
* *
*/ */

View File

@ -193,11 +193,12 @@ class pmdb:
pkg.conflicts = _getsection(fd) pkg.conflicts = _getsection(fd)
elif line == "%PROVIDES%": elif line == "%PROVIDES%":
pkg.provides = _getsection(fd) pkg.provides = _getsection(fd)
elif line == "%REPLACES%": # TODO this was going to be changed, but isn't anymore
pkg.replaces = _getsection(fd) #elif line == "%REPLACES%":
elif line == "%FORCE%": # pkg.replaces = _getsection(fd)
fd.readline() #elif line == "%FORCE%":
pkg.force = 1 # fd.readline()
# pkg.force = 1
fd.close() fd.close()
pkg.checksum["depends"] = getmd5sum(filename) pkg.checksum["depends"] = getmd5sum(filename)
pkg.mtime["depends"] = getmtime(filename) pkg.mtime["depends"] = getmtime(filename)
@ -253,6 +254,8 @@ class pmdb:
else: else:
if pkg.replaces: if pkg.replaces:
data.append(_mksection("REPLACES", pkg.replaces)) data.append(_mksection("REPLACES", pkg.replaces))
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:
@ -293,11 +296,11 @@ class pmdb:
data.append(_mksection("CONFLICTS", pkg.conflicts)) data.append(_mksection("CONFLICTS", pkg.conflicts))
if pkg.provides: if pkg.provides:
data.append(_mksection("PROVIDES", pkg.provides)) data.append(_mksection("PROVIDES", pkg.provides))
if not self.treename == "local": #if self.treename != "local":
if pkg.replaces: # if pkg.replaces:
data.append(_mksection("REPLACES", pkg.replaces)) # data.append(_mksection("REPLACES", pkg.replaces))
if pkg.force: # if pkg.force:
data.append(_mksection("FORCE", "")) # data.append(_mksection("FORCE", ""))
if data: if data:
data.append("") data.append("")
filename = os.path.join(path, "depends") filename = os.path.join(path, "depends")
@ -354,7 +357,7 @@ class pmdb:
and oldpkg.mtime[key] == (0, 0, 0) \ and oldpkg.mtime[key] == (0, 0, 0) \
and pkg.mtime[key] == (0, 0, 0): and pkg.mtime[key] == (0, 0, 0):
continue continue
if not oldpkg.mtime[key][1:3] == pkg.mtime[key][1:3]: if oldpkg.mtime[key][1:3] != pkg.mtime[key][1:3]:
modified += 1 modified += 1
return modified return modified

View File

@ -104,11 +104,16 @@ class pmenv:
fail = test.result["fail"] fail = test.result["fail"]
rules = len(test.rules) rules = len(test.rules)
if fail == 0: if fail == 0:
print "[PASSED]", result = "[PASSED]"
else: else:
print "[FAILED]", result = "[FAILED]"
print result,
print "%s Rules: OK = %2u FAIL = %2u SKIP = %2u" \ print "%s Rules: OK = %2u FAIL = %2u SKIP = %2u" \
% (test.testname.ljust(32), success, fail, rules - (success + fail)) % (test.testname.ljust(32), success, fail, \
rules - (success + fail))
if fail != 0:
# print test description if test failed
print " ", test.description
print "=========="*8 print "=========="*8
print "Results" print "Results"

View File

@ -52,8 +52,8 @@ class pmfile:
vprint("\t\told: %s / %s" % (self.checksum, self.mtime)) vprint("\t\told: %s / %s" % (self.checksum, self.mtime))
vprint("\t\tnew: %s / %s" % (checksum, mtime)) vprint("\t\tnew: %s / %s" % (checksum, mtime))
if not self.checksum == checksum \ if self.checksum != checksum \
or not (self.mtime[1], self.mtime[2]) == (mtime[1], mtime[2]): or (self.mtime[1], self.mtime[2]) != (mtime[1], mtime[2]):
retval = 1 retval = 1
return retval return retval

View File

@ -86,7 +86,7 @@ class pmrule:
if not value in newpkg.requiredby: if not value in newpkg.requiredby:
success = 0 success = 0
elif case == "REASON": elif case == "REASON":
if not newpkg.reason == int(value): if newpkg.reason != int(value):
success = 0 success = 0
elif case == "FILES": elif case == "FILES":
if not value in newpkg.files: if not value in newpkg.files:

View File

@ -62,7 +62,7 @@ def getfilename(name):
""" """
filename = "" filename = ""
link = "" link = ""
if not name.find(" -> ") == -1: if name.find(" -> ") != -1:
filename, link = name.split(" -> ") filename, link = name.split(" -> ")
elif name[-1] == "*": elif name[-1] == "*":
filename = name.rstrip("*") filename = name.rstrip("*")
@ -80,7 +80,7 @@ def mkfile(name, data = ""):
link = "" link = ""
filename = "" filename = ""
if not name.find(" -> ") == -1: if name.find(" -> ") != -1:
islink = 1 islink = 1
filename, link = name.split(" -> ") filename, link = name.split(" -> ")
elif name[-1] == "*": elif name[-1] == "*":
@ -181,8 +181,9 @@ def mkcfgfile(filename, root, option, db):
# Repositories # Repositories
data.extend(["[%s]\n" \ data.extend(["[%s]\n" \
"server = file://%s\n" \ "server = file://%s\n" \
% (value.treename, os.path.join(root, SYNCREPO, value.treename)) \ % (value.treename, \
for key, value in db.iteritems() if not key == "local"]) os.path.join(root, SYNCREPO, value.treename)) \
for key, value in db.iteritems() if key != "local"])
mkfile(os.path.join(root, filename), "\n".join(data)) mkfile(os.path.join(root, filename), "\n".join(data))