From: Michael Tremer Date: Thu, 24 Nov 2022 11:16:35 +0000 (+0000) Subject: pakfire-builder: Add switches to enable/disable repositories X-Git-Tag: 0.9.28~88 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09df77a2926f8b8dc3727e0f84b92070ee91ffa9;p=pakfire.git pakfire-builder: Add switches to enable/disable repositories Signed-off-by: Michael Tremer --- diff --git a/src/scripts/pakfire-builder.in b/src/scripts/pakfire-builder.in index c7d57e3e6..34f62eb47 100644 --- a/src/scripts/pakfire-builder.in +++ b/src/scripts/pakfire-builder.in @@ -46,6 +46,12 @@ class Cli(object): parser.add_argument("--distro", nargs="?", default="ipfire3", # XXX for now help=_("Choose the distribution configuration to use for build")) + # Enable/disable repositories + parser.add_argument("--disable-repo", nargs="*", metavar="REPO", + help=_("Disable a repository"), default=[]) + parser.add_argument("--enable-repo", nargs="*", metavar="REPO", + help=_("Enable a repository"), default=[]) + # build build = subparsers.add_parser("build", help=_("Build one or more packages")) build.add_argument("package", nargs="+", @@ -143,6 +149,11 @@ class Cli(object): args = parser.parse_args() + # Disable snapshots when repositories are enabled/disabled + if "disable_snapshot" in args: + args.disable_snapshot = args.disable_snapshot or \ + (args.enable_repo or args.disable_repo) + # Print usage if no action was given if not "func" in args: parser.print_usage() @@ -162,7 +173,18 @@ class Cli(object): debug=ns.debug, ) - return pakfire.Pakfire(arch=ns.arch, conf=conf, logger=logger.log) + # Create a new Pakfire instance + p = pakfire.Pakfire(arch=ns.arch, conf=conf, logger=logger.log) + + # Enable/disable repositories + for repo in p.repos: + if repo.name in ns.enable_repo: + repo.enabled = True + + if repo.name in ns.disable_repo: + repo.enabled = False + + return p def __call__(self): # Parse command line arguments