X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=hippotat.git;a=blobdiff_plain;f=hippotatlib%2Fownsource.py;h=16ccdbd06510d41746f2d07cdd0bc065af9d1f35;hp=1a294e61467f823b6d6c88e2cfd29fa219462f13;hb=3b69fba92d3fc51f8b73830b6e7928a106b1a388;hpb=eed788f8959bb06e7631f2d2bbb57d0783314727 diff --git a/hippotatlib/ownsource.py b/hippotatlib/ownsource.py index 1a294e6..16ccdbd 100644 --- a/hippotatlib/ownsource.py +++ b/hippotatlib/ownsource.py @@ -5,22 +5,25 @@ # # Copyright 2017 Ian Jackson # -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version, with the "CAF Login -# Exception" as published by Ian Jackson (version 2, or at your option -# any later version) as an Additional Permission. +# AGPLv3+ + CAFv2+ # -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU Affero General Public +# License as published by the Free Software Foundation, either +# version 3 of the License, or (at your option) any later version, +# with the "CAF Login Exception" as published by Ian Jackson +# (version 2, or at your option any later version) as an Additional +# Permission. # -# You should have received a copy of the GNU Affero General Public -# License and the CAF Login Exception along with this program, in the -# file AGPLv3+CAFv2. If not, email Ian Jackson -# . +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public +# License and the CAF Login Exception along with this program, in +# the file AGPLv3+CAFv2. If not, email Ian Jackson +# . import os @@ -37,7 +40,7 @@ except ImportError: pass class SourceShipmentPreparer(): def __init__(s, destdir): # caller may modify, and should read after calling generate() - s.output_names = ['srcbomb.tar.gz', 'fullsrcbomb.tar'] + s.output_names = ['srcbomb.tar.gz', 'srcpkgsbomb.tar'] s.output_paths = [None,None] # alternatively caller may read this # defaults, caller can modify after creation s.logger = lambda m: print('SourceShipmentPreparer',m) @@ -54,6 +57,8 @@ class SourceShipmentPreparer(): s.rune_shell = ['/bin/bash', '-ec'] s.show_pathnames = True s.download_packages = True + s.stream_stderr = sys.stderr + s.stream_debug = open('/dev/null','w') s.rune_cpio = r''' set -o pipefail ( @@ -98,10 +103,10 @@ class SourceShipmentPreparer(): return [] r = [] for l in excl: - l.strip + l = l.strip() if l.startswith('#'): next if not len(l): next - r += l + r.append(l) return r def src_likeparent_git(s, src): @@ -271,8 +276,8 @@ class SourceShipmentPreparer(): subprocess.run(cmdl, cwd=s._packages_path, stdin=subprocess.DEVNULL, - stdout=sys.stdout, - stderr=sys.stderr, + stdout=s.stream_debug, + stderr=s.stream_stderr, restore_signals=True, check=True) @@ -359,6 +364,7 @@ class SourceShipmentPreparer(): s._destdir, outputs) def mk_packages_portmanteau(s): + if not s.download_packages: return s._mk_portmanteau(1, s.rune_portmanteau_uncompressed, s._packages_path, s._package_sources)