[dak/master] Include {Packages,Sources}.xz indices in Release file.
---
dak/generate_releases.py | 14 ++++++++++++++
daklib/regexes.py | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/dak/generate_releases.py b/dak/generate_releases.py
index e483e6c..ce8f128 100755
--- a/dak/generate_releases.py
+++ b/dak/generate_releases.py
@@ -38,6 +38,7 @@ import time
import gzip
import bz2
import apt_pkg
+import subprocess
from tempfile import mkstemp, mkdtemp
import commands
from sqlalchemy.orm import object_session
@@ -48,6 +49,7 @@ from daklib.dak_exceptions import *
from daklib.dbconn import *
from daklib.config import Config
from daklib.dakmultiprocessing import DakProcessPool, PROC_STATUS_SUCCESS
+import daklib.daksubprocess
################################################################################
Logger = None #: Our logging object
@@ -104,6 +106,16 @@ def sign_release_dir(suite, dirname):
os.system("gpg %s %s %s --clearsign <%s >>%s" %
(keyring, defkeyid, arguments, relname, inlinedest))
+class XzFile(object):
+ def __init__(self, filename, mode='r'):
+ self.filename = filename
+ def read(self):
+ cmd = ("xz", "-d")
+ with open(self.filename, 'r') as stdin:
+ process = daklib.daksubprocess.Popen(cmd, stdin=stdin, stdout=subprocess.PIPE)
+ (stdout, stderr) = process.communicate()
+ return stdout
+
class ReleaseWriter(object):
def __init__(self, suite):
self.suite = suite
@@ -242,6 +254,8 @@ class ReleaseWriter(object):
uncompnotseen[filename[:-3]] = (gzip.GzipFile, filename)
elif entry.endswith(".bz2") and entry[:-4] not in uncompnotseen.keys():
uncompnotseen[filename[:-4]] = (bz2.BZ2File, filename)
+ elif entry.endswith(".xz") and entry[:-3] not in uncompnotseen.keys():
+ uncompnotseen[filename[:-3]] = (XzFile, filename)
fileinfo[filename]['len'] = len(contents)
diff --git a/daklib/regexes.py b/daklib/regexes.py
index 95cf352..ad57ce5 100644
--- a/daklib/regexes.py
+++ b/daklib/regexes.py
@@ -123,7 +123,7 @@ re_match_expired = re.compile(r"^The key used to sign .+ has expired on .+$")
# in generate-releases
re_gensubrelease = re.compile (r".*/(binary-[0-9a-z-]+|source)$")
-re_includeinrelease = re.compile (r"(Translation-[a-zA-Z_]+\.(?:bz2|xz)|Contents-[0-9a-z-]+.gz|Index|Packages(.gz|.bz2)?|Sources(.gz|.bz2)?|MD5SUMS|SHA256SUMS|Release)$")
+re_includeinrelease = re.compile (r"(Translation-[a-zA-Z_]+\.(?:bz2|xz)|Contents-[0-9a-z-]+.gz|Index|Packages(.gz|.bz2|.xz)?|Sources(.gz|.bz2|.xz)?|MD5SUMS|SHA256SUMS|Release)$")
# in generate_index_diffs
re_includeinpdiff = re.compile(r"(Translation-[a-zA-Z_]+\.(?:bz2|xz))")
--
1.7.10.4
Reply to: