[elbe-devel] [PATCH 1/3] commands buildrepo: add options to skip bin and sources
Torben Hohn
torben.hohn at linutronix.de
Fri Oct 12 11:32:38 CEST 2018
just skip downloading of packages, but still create the repositories
Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>
---
elbepack/commands/buildrepo.py | 119 ++++++++++++++++++++++-------------------
1 file changed, 65 insertions(+), 54 deletions(-)
diff --git a/elbepack/commands/buildrepo.py b/elbepack/commands/buildrepo.py
index 84c0ef33..ff0565db 100644
--- a/elbepack/commands/buildrepo.py
+++ b/elbepack/commands/buildrepo.py
@@ -59,6 +59,14 @@ def run_command(argv):
default="/var/cache/elbe/sources",
help="path where src packages are downloaded to.")
+ oparser.add_option("--skip-build-sources", action="store_false",
+ dest="build_sources", default=True,
+ help="Skip downloading Source Packages")
+
+ oparser.add_option("--skip-build-bin", action="store_false",
+ dest="build_bin", default=True,
+ help="Skip downloading binary packages")
+
(opt, args) = oparser.parse_args(argv)
if len(args) != 1:
@@ -100,32 +108,33 @@ def run_command(argv):
hostfs.mkdir_p(opt.archive)
- pkglist = get_initvm_pkglist()
- cache = Cache()
- cache.open()
- for pkg in pkglist:
- try:
- p = cache[pkg.name]
- pkgver = p.installed
- deb = pkgver.fetch_binary(opt.archive,
- ElbeAcquireProgress(cb=None))
- repo.includedeb(deb, 'main')
- except ValueError:
- log.printo("No Package " + pkg.name +
- "-" + str(pkg.installed_version))
- except FetchError:
- log.printo(
- "Package " +
- pkg.name +
- "-" +
- pkgver.version +
- " could not be downloaded")
- except TypeError:
- log.printo("Package " +
- pkg.name +
- "-" +
- str(pkg.installed_version) +
- " missing name or version")
+ if opt.build_bin:
+ pkglist = get_initvm_pkglist()
+ cache = Cache()
+ cache.open()
+ for pkg in pkglist:
+ try:
+ p = cache[pkg.name]
+ pkgver = p.installed
+ deb = pkgver.fetch_binary(opt.archive,
+ ElbeAcquireProgress(cb=None))
+ repo.includedeb(deb, 'main')
+ except ValueError:
+ log.printo("No Package " + pkg.name +
+ "-" + str(pkg.installed_version))
+ except FetchError:
+ log.printo(
+ "Package " +
+ pkg.name +
+ "-" +
+ pkgver.version +
+ " could not be downloaded")
+ except TypeError:
+ log.printo("Package " +
+ pkg.name +
+ "-" +
+ str(pkg.installed_version) +
+ " missing name or version")
repo.finalize()
@@ -139,33 +148,35 @@ def run_command(argv):
#
# FIXME: we need a way to add source cdroms later on
if opt.cdrom_path:
- if opt.cdrom_device:
- log.do('umount "%s"' % opt.cdrom_device)
- sys.exit(0)
-
- for pkg in pkglist:
- try:
- p = cache[pkg.name]
- pkgver = p.installed
- dsc = pkgver.fetch_source(opt.srcarchive,
- ElbeAcquireProgress(cb=None),
- unpack=False)
- repo.include_init_dsc(dsc, 'initvm')
- except ValueError:
- log.printo("No Package " + pkg.name +
- "-" + str(pkg.installed_version))
- except FetchError:
- log.printo(
- "Package " +
- pkg.name +
- "-" +
- pkgver.version +
- " could not be downloaded")
- except TypeError:
- log.printo("Package " +
- pkg.name +
- "-" +
- str(pkg.installed_version) +
- " missing name or version")
+ opt.build_sources = False
+
+ if opt.build_sources:
+ for pkg in pkglist:
+ try:
+ p = cache[pkg.name]
+ pkgver = p.installed
+ dsc = pkgver.fetch_source(opt.srcarchive,
+ ElbeAcquireProgress(cb=None),
+ unpack=False)
+ repo.include_init_dsc(dsc, 'initvm')
+ except ValueError:
+ log.printo("No Package " + pkg.name +
+ "-" + str(pkg.installed_version))
+ except FetchError:
+ log.printo(
+ "Package " +
+ pkg.name +
+ "-" +
+ pkgver.version +
+ " could not be downloaded")
+ except TypeError:
+ log.printo("Package " +
+ pkg.name +
+ "-" +
+ str(pkg.installed_version) +
+ " missing name or version")
repo.finalize()
+
+ if opt.cdrom_device:
+ log.do('umount "%s"' % opt.cdrom_device)
--
2.11.0
More information about the elbe-devel
mailing list