commit 3320b78e4f1acf7a164edec22be2225a3d83ad58
parent 61990d531cc3b64f61fcefae6da9bf5d7bb5321a
Author: parazyd <parazyd@dyne.org>
Date:   Thu,  1 Jun 2017 17:39:39 +0200
copy also the internal Release files for arches
Diffstat:
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/package.py b/lib/package.py
@@ -5,11 +5,13 @@ Package merging functions and helpers
 """
 
 import os
+from os.path import join
 from gzip import open as gzip_open
 from lzma import open as lzma_open
+from shutil import copyfile
 
 from lib.parse import (parse_packages, parse_dependencies)
-from lib.config import packages_keys
+from lib.config import packages_keys, mergedir, spooldir
 
 
 def write_packages(packages, filename, sort=True):
@@ -18,6 +20,12 @@ def write_packages(packages, filename, sort=True):
     If sort=True, the packages are sorted by name.
     """
     os.makedirs(os.path.dirname(filename), exist_ok=True)
+
+    # Copy the arch-specific Release file from devuan if it's not there
+    rl = filename.replace('Packages.gz', 'Release')
+    if not os.path.isfile(rl):
+        copyfile(rl.replace(mergedir, join(spooldir, 'devuan')), rl)
+
     gzf = gzip_open(filename, 'w')
     xzf = lzma_open(filename.replace('.gz', '.xz'), 'w')
     f = open(filename.replace('.gz', ''), 'w')
@@ -97,7 +105,6 @@ def merge_packages(pkg1, pkg2, name1, name2, banned_packages=set(),
             if not package_banned(pkg1_pkg, banned_packages):
                 if rewriter:
                     pkg1_pkg = rewriter(pkg1_pkg, name1)
-
                 new_pkgs[pkg] = pkg1_pkg
         elif pkg2_pkg:
             if not package_banned(pkg2_pkg, banned_packages):