]> err.no Git - dpkg/commitdiff
Support building binary packages with the member data.tar.lzma compressed
authorGuillem Jover <guillem@debian.org>
Tue, 13 Mar 2007 01:07:47 +0000 (01:07 +0000)
committerGuillem Jover <guillem@debian.org>
Tue, 13 Mar 2007 01:07:47 +0000 (01:07 +0000)
with lzma.

ChangeLog
TODO
debian/changelog
dpkg-deb/build.c
dpkg-deb/main.c
lib/compression.c
man/ChangeLog
man/dpkg-deb.1

index 0dba6caf7051519ccef0cd2fa4a3d753fbc986ba..2e1696c01791b6ca9c146c909e7f382286043c89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-03-13  Guillem Jover  <guillem@debian.org>
+
+       * lib/compression.c (compress_cat): Support compress_type_lzma.
+       * dpkg-deb/build.c (do_build): Likewise.
+       * dpkg-deb/main.c (usage): Document that '-Z' now accepts lzma as well.
+       (setcompresstype): Parse 'lzma' as compress_type_lzma.
+
 2007-03-12  Guillem Jover  <guillem@debian.org>
 
        * scripts/changelog/debian.pl: Fix call to outputclose by not passing
diff --git a/TODO b/TODO
index b6eaadc9c593fb1db1690b6df8234303711314f4..1179286aababd0e7578d530596954fad158da474 100644 (file)
--- a/TODO
+++ b/TODO
@@ -26,13 +26,13 @@ lenny
    allowed or added. The main problem I'm facing with this one is and nice a
    clean implementation, the PoC and the idea how to fix it is present already.
 
- * Support lzma compression.
-
 1.14.x
 ------
 
  * Add Wig&Pen source package support.
 
+ * Support lzma and bzip2 source package compression.
+
  * Get rid of install-info.
 
  * Add multiarch support.
index 7227ccdadb4f30cf032f2f1b7bc3dc88481f2e02..0c156f9771ed0065c9b3187a314b9f33b90383e9 100644 (file)
@@ -50,6 +50,8 @@ dpkg (1.14.0) UNRELEASED; urgency=low
     dpkg-buildpackage(1), dpkg-distaddfile(1), dpkg-genchanges(1),
     dpkg-gencontrol(1), dpkg-parsechangelog(1), dpkg-shlibdeps(1),
     deb-shlibs(5) and deb-substvars(5).
+  * Support building binary packages with the member data.tar.lzma compressed
+    with lzma.
 
   [ Updated dpkg translations ]
   * Romanian (Eddy PetriČ™or).
index 9f9af39a49e48a4f88345db3bf0b4e7d040390b9..31e6604546146cc790e730c29677a33939ca95c3 100644 (file)
@@ -452,6 +452,9 @@ void do_build(const char *const *argv) {
     case compress_type_bzip2:
       datamember = DATAMEMBER_BZ2;
       break;
+    case compress_type_lzma:
+      datamember = DATAMEMBER_LZMA;
+      break;
     case compress_type_cat:
       datamember = DATAMEMBER_CAT;
       break;
index 13ae74782a5b0b42d07a4d4bb3575ab2b5fde9e4..a8c7fea0320f746821f8e8629a7080abaf9f85ef 100644 (file)
@@ -90,7 +90,7 @@ static void usage(void) {
 "                                     packages).\n"
 "  -z#                              Set the compression level when building.\n"
 "  -Z<type>                         Set the compression type used when building.\n"
-"                                     Allowed values: gzip, bzip2, none.\n"
+"                                     Allowed values: gzip, bzip2, lzma, none.\n"
 "\n")) < 0) werr("stdout");
 
   if (printf(_(
@@ -186,6 +186,8 @@ static void setcompresstype(const struct cmdinfo *cip, const char *value) {
     compress_type = compress_type_gzip;
   else if (!strcmp(value, "bzip2"))
     compress_type = compress_type_bzip2;
+  else if (!strcmp(value, "lzma"))
+    compress_type = compress_type_lzma;
   else if (!strcmp(value, "none"))
     compress_type = compress_type_cat;
   else
index f761ca6a308df8938e852296327cf30f990528e2..07ab5dc3e30f18c6b7c865049056878589d5dd74 100644 (file)
@@ -187,6 +187,10 @@ void compress_cat(enum compress_type type, int fd_in, int fd_out, const char *co
       combuf[1]= *compression;
       fd_fd_filter(fd_in, fd_out, BZIP2, "bzip2", combuf, v.buf);
 #endif
+    case compress_type_lzma:
+      strncpy(combuf, "-9c", sizeof(combuf));
+      combuf[1] = *compression;
+      fd_fd_filter(fd_in, fd_out, LZMA, "lzma", combuf, v.buf);
     case compress_type_cat:
       fd_fd_copy(fd_in, fd_out, -1, _("%s: compression"), v.buf);
       exit(0);
index f1a6bf3b002d9babd3b6a650939f0793eac18c24..95e0f05c1bd8577c3355c17e6f6b26e5374d5718 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-13  Guillem Jover  <guillem@debian.org>
+
+       * dpkg-deb.1: Move '-z' to it's own OPTIONS entry. Document '-Z',
+       and the new 'lzma' value.
+
 2007-03-13  Guillem Jover  <guillem@debian.org>
 
        * po/add_de/dpkg-scanpackages.1.de.add: Copy to ...
index cc84444b7c2ec6d6ce7afdcdf94885dd69695338..9fe68db3836d70b9a3526c7057d45d2db233dd78 100644 (file)
@@ -1,4 +1,4 @@
-.TH dpkg\-deb 1 "2003-03-06" "Debian Project" "dpkg suite"
+.TH dpkg\-deb 1 "2007-03-13" "Debian Project" "dpkg suite"
 .SH NAME
 dpkg\-deb - Debian package archive (.deb) manipulation tool
 .
@@ -39,12 +39,6 @@ appear in the binary package's filesystem archive, but instead
 the files in it will be put in the binary package's control
 information area.
 
-You can specify the compression level used by adding a
-.B \-z#
-option.
-.B dpkg\-deb
-will pass that option on to gzip.
-
 Unless you specify
 .BR \-\-nocheck ", " dpkg\-deb "
 will read
@@ -193,6 +187,15 @@ explanation of the \fB\-\-showformat\fP option in
 
 The default for this field is "${Package}\\t${Version}\\n".
 .TP
+.BI \-z compress_level
+Specify which compression level to pass to the compressor backend program,
+when building a package.
+.TP
+.BI \-Z compress_type
+Specify which compression type to use when building a package. Allowed
+values are \fIgzip\fP, \fIbzip2\fP, \fIlzma\fP, and \fInone\fP (default
+is \fIgzip\fP).
+.TP
 .BR \-\-new
 Ensures that
 .B dpkg\-deb