Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/cygwin-apps/calm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Turney <jon.turney@dronecode.org.uk>2016-04-15 14:20:43 +0300
committerJon Turney <jon.turney@dronecode.org.uk>2016-04-18 14:37:16 +0300
commitb0490cd0a333ff3a65ebef0b61a1a12bc4235cbf (patch)
treebd15f7ecf7b1d65e848562ae50128e6928363900
parent42eb702159aa211dfcc5d5f9610836d026f1e782 (diff)
Add an option to mksetupini to disable checking that required packages exist
Add an --okmissing option to mksetupini, modelled after genini Add the okmissing token require-package, which disables checking that required packages exist This makes mksetupini a little more generally useful
-rwxr-xr-xmksetupini2
-rwxr-xr-xpackage.py23
2 files changed, 15 insertions, 10 deletions
diff --git a/mksetupini b/mksetupini
index b43a45a..4c3a3d5 100755
--- a/mksetupini
+++ b/mksetupini
@@ -25,6 +25,7 @@
# mksetupini
#
# Make a setup.ini file from a collection of tarfiles and setup.hints
+# (this is intended to be a replacement for genini)
#
import argparse
@@ -98,6 +99,7 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Make setup.ini')
parser.add_argument('--arch', action='store', required=True, choices=common_constants.ARCHES)
parser.add_argument('--inifile', '-u', action='store', help='output filename', required=True)
+ parser.add_argument('--okmissing', action='append', help='missing things are ok', choices=['required-package'])
parser.add_argument('--pkglist', action='store', nargs='?', metavar='FILE', help="package maintainer list (default: " + pkglist_default + ")", const=pkglist_default)
parser.add_argument('--release', action='store', help='value for setup-release key (default: cygwin)', default='cygwin')
parser.add_argument('--releasearea', action='store', metavar='DIR', help="release directory (default: " + relarea_default + ")", default=relarea_default, dest='rel_area')
diff --git a/package.py b/package.py
index f03391d..e04c06b 100755
--- a/package.py
+++ b/package.py
@@ -274,17 +274,20 @@ def validate_packages(args, packages):
error = False
for p in sorted(packages.keys()):
- # all packages listed in requires must exist
- if 'requires' in packages[p].hints:
- for r in packages[p].hints['requires'].split():
- if r not in packages:
- logging.error("package '%s' requires nonexistent package '%s'" % (p, r))
- error = True
+ logging.debug("validating package '%s'" % (p))
- # a package is should not appear in it's own requires
- if r == p:
- lvl = logging.WARNING if p not in past_mistakes.self_requires else logging.INFO
- logging.log(lvl, "package '%s' requires itself" % (p))
+ if 'required-package' not in getattr(args, 'okmissing', []):
+ # all packages listed in requires must exist
+ if 'requires' in packages[p].hints:
+ for r in packages[p].hints['requires'].split():
+ if r not in packages:
+ logging.error("package '%s' requires nonexistent package '%s'" % (p, r))
+ error = True
+
+ # a package is should not appear in it's own requires
+ if r == p:
+ lvl = logging.WARNING if p not in past_mistakes.self_requires else logging.INFO
+ logging.log(lvl, "package '%s' requires itself" % (p))
# if external-source is used, the package must exist
if 'external-source' in packages[p].hints: