upstream has changed the identity of the distfiles and the user would
otherwise have to manually remove the Manifest and files/digest-* files in
order to ensure correct results."""
- pkgdir = os.path.dirname(myebuild)
- fetchlist_dict = portage.FetchlistDict(pkgdir, mysettings, mydbapi)
- cat, pkg = pkgdir.split(os.sep)[-2:]
- cpv = cat + "/" + os.path.basename(myebuild)[:-7]
- from portage_manifest import Manifest
- mf = Manifest(pkgdir, mysettings["DISTDIR"],
- fetchlist_dict=fetchlist_dict)
- mf.create(requiredDistfiles=None,
- assumeDistHashesSometimes=True, assumeDistHashesAlways=True)
- distfiles = fetchlist_dict[cpv]
- for myfile in distfiles:
- try:
- del mf.fhashdict["DIST"][myfile]
- except KeyError:
- pass
- mf.write()
+ try:
+ portage._doebuild_manifest_exempt_depend += 1
+ pkgdir = os.path.dirname(myebuild)
+ fetchlist_dict = portage.FetchlistDict(pkgdir, mysettings, mydbapi)
+ cat, pkg = pkgdir.split(os.sep)[-2:]
+ cpv = cat + "/" + os.path.basename(myebuild)[:-7]
+ from portage_manifest import Manifest
+ mf = Manifest(pkgdir, mysettings["DISTDIR"],
+ fetchlist_dict=fetchlist_dict)
+ mf.create(requiredDistfiles=None,
+ assumeDistHashesSometimes=True, assumeDistHashesAlways=True)
+ distfiles = fetchlist_dict[cpv]
+ for myfile in distfiles:
+ try:
+ del mf.fhashdict["DIST"][myfile]
+ except KeyError:
+ pass
+ mf.write()
+ finally:
+ portage._doebuild_manifest_exempt_depend -= 1
for arg in pargs:
try:
.RS
.TP
.I binchecks
-Disable all QA checks for binaries (do not use without very good reason). See
-the \fBQA CONTROL VARIABLES\fR section for more specific exemptions.
+Disable all QA checks for binaries. This should ONLY be used in packages
+for which binary checks make no sense (linux-headers and kernel-sources, for
+example, can safely be skipped since they have no binaries). If the binary
+checks need to be skipped for other reasons (such as proprietary binaries),
+see the \fBQA CONTROL VARIABLES\fR section for more specific exemptions.
.TP
.I confcache
Prevent econf from using confcache.
rValue.append("package.mask")
# keywords checking
- mygroups, eapi = portdb.aux_get(mycpv, ["KEYWORDS", "EAPI"])
+ try:
+ mygroups, eapi = portdb.aux_get(mycpv, ["KEYWORDS", "EAPI"])
+ except KeyError:
+ # The "depend" phase apparently failed for some reason. An associated
+ # error message will have already been printed to stderr.
+ return ["corruption"]
if not eapi_is_supported(eapi):
return ["required EAPI %s, supported EAPI %s" % (eapi, portage_const.EAPI)]
mygroups = mygroups.split()
myfilelist = listdir(srcroot, recursive=1, filesonly=1, followSymlinks=False)
# the linkcheck only works if we are in srcroot
- mycwd = os.getcwd()
+ mycwd = getcwd()
os.chdir(srcroot)
mysymlinks = filter(os.path.islink, listdir(srcroot, recursive=1, filesonly=0, followSymlinks=False))
myfilelist.extend(mysymlinks)