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:
parent
bdac910589
commit
13e2111045
@ -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;
|
||||||
|
@ -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
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -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
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user