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) {
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%")) {
/* the REPLACES tag is special -- it only appears in sync repositories,
* 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))) {
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,
* not the local one. */
}
/* TODO: we were going to move these things here, but it should wait.
* 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))) {
info->replaces = alpm_list_add(info->replaces, strdup(line));
}
}
} else if(!strcmp(line, "%FORCE%")) {
/* FORCE tag only appears in sync repositories,
* not the local one. */
* FORCE tag only appears in sync repositories,
* not the local one. *
info->force = 1;
}
} */
}
fclose(fp);
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
*
* 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
*
*/

View File

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

View File

@ -104,11 +104,16 @@ class pmenv:
fail = test.result["fail"]
rules = len(test.rules)
if fail == 0:
print "[PASSED]",
result = "[PASSED]"
else:
print "[FAILED]",
result = "[FAILED]"
print result,
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 "Results"

View File

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

View File

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

View File

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