Create clang-3.6 tarball
Change-Id: I665a57905b43a1a3ce0a134f39664c8c9b459e9f
diff --git a/debian/download_packages.py b/debian/download_packages.py
index 4709463..ca36b4b 100755
--- a/debian/download_packages.py
+++ b/debian/download_packages.py
@@ -15,14 +15,16 @@
def get_all_deps(packages):
deps = set()
- for package in packages:
+ for package in packages or ():
deps.update(get_deps(package))
return deps
-def download_deps(packages, excludes):
+def download_deps(packages, excludes, force_includes):
deps = get_all_deps(packages)
exclude_deps = get_all_deps(excludes)
deps -= exclude_deps
+ force_include_deps = get_all_deps(force_includes)
+ deps |= force_include_deps
subprocess.check_call([b"apt-get", b"download"] + list(deps))
def fixup_files():
@@ -50,9 +52,20 @@
print(' "%s": "%s",' % (deb, sha256_checksum(deb)))
print("}")
+_ALWAYS_EXCLUDE = [
+ "debconf",
+ "debconf-2.0",
+ "dpkg",
+ "install-info",
+ "libc-dev",
+ "libc6",
+ "libc6-dev",
+]
+
def main(argv):
parser = argparse.ArgumentParser()
parser.add_argument("--exclude", "-e", type=str, action="append", help="A package to exclude from the list")
+ parser.add_argument("--force-include", type=str, action="append", help="Force include this and its dependencies. Even if listed in excludes.")
parser.add_argument("package", nargs="+", help="The packages to download.")
args = parser.parse_args(argv[1:])
folder = tempfile.mkdtemp()
@@ -60,8 +73,8 @@
excludes = args.exclude or []
# Exclude common packages that don't make sense to include in everything all
# the time.
- excludes += ["libc-dev", "debconf", "install-info", "debconf-2.0", "libc6", "libc6-dev", "dpkg"]
- download_deps(args.package, excludes)
+ excludes += _ALWAYS_EXCLUDE
+ download_deps(args.package, excludes, args.force_include)
fixup_files()
print_file_list()
print("Your packages are all in %s" % folder)