[PATCH 00/15] xz support in dpkg
Hi dpkg maintainers,
As promised, here’s an updated patch series adding xz support
to dpkg. Changes from v1:
- dpkg-deb --contents/--extract/etc force a memory limit high
enough to decompress any package built with a sensible
compression level
- dpkg-deb -b uses a sensible compression level by default now
- code style is much improved
- fixes some old dpkg-deb bugs (e.g. some instances of ohshite
where ohshit should be used)
I’m sending this in the traditional one-patch-per-email format
in the hope that it will get through this time. I hope that’s
not too inconvenient. (Is the Debian mailing lists’ filtering
policy documented anywhere?)
My feeling is that these patches should be more readable than
the last series, too. I hope you enjoy them, and I look
forward to your thoughts.
Jonathan Nieder (15):
libdpkg: Reduce scope of combuf[] in compress_cat
libdpkg: factor out common gzip, bzip2 code
libdpkg: fix redundant compression error messages
libdpkg: fix compress_cat to allow I/O to files
libdpkg: factor out function to execute compressors
libdpkg: reorder internal fd_fd_filter() function arguments
libdpkg: simplify code to calculate compression options
libdpkg: compression: move each format’s code into its own function
libdpkg: let backends decide default compression level
libdpkg: compress_lzma(): decrease default compression level
Add tuklib_physmem() from XZ Utils
dpkg-deb: set a memory usage limit for lzma -d
dpkg: add --memlimit option, passed to dpkg-deb
dpkg-deb: add .xz compression support
dpkg-deb: add liblzma support
configure.ac | 3 +
debian/control | 6 +-
debian/copyright | 3 +
debian/rules | 3 +-
dpkg-deb/Makefile.am | 1 +
dpkg-deb/build.c | 3 +
dpkg-deb/dpkg-deb.h | 5 +
dpkg-deb/extract.c | 7 +-
dpkg-deb/main.c | 29 ++-
lib/dpkg/Makefile.am | 6 +
lib/dpkg/compression-backend.c | 603 ++++++++++++++++++++++++++++++++++++++++
lib/dpkg/compression-backend.h | 41 +++
lib/dpkg/compression.c | 178 ++----------
lib/dpkg/dpkg.h | 6 +-
lib/tuklib/sysdefs.h | 165 +++++++++++
lib/tuklib/tuklib_common.h | 71 +++++
lib/tuklib/tuklib_config.h | 1 +
lib/tuklib/tuklib_physmem.c | 146 ++++++++++
lib/tuklib/tuklib_physmem.h | 28 ++
m4/libs.m4 | 32 +++
m4/tuklib_common.m4 | 22 ++
m4/tuklib_physmem.m4 | 119 ++++++++
man/deb.5 | 5 +-
man/dpkg-deb.1 | 12 +-
man/dpkg.1 | 6 +
scripts/dpkg-buildpackage.pl | 2 +-
src/Makefile.am | 1 +
src/main.c | 5 +
src/main.h | 1 +
src/processarc.c | 11 +-
30 files changed, 1353 insertions(+), 168 deletions(-)
create mode 100644 lib/dpkg/compression-backend.c
create mode 100644 lib/dpkg/compression-backend.h
create mode 100644 lib/tuklib/sysdefs.h
create mode 100644 lib/tuklib/tuklib_common.h
create mode 100644 lib/tuklib/tuklib_config.h
create mode 100644 lib/tuklib/tuklib_physmem.c
create mode 100644 lib/tuklib/tuklib_physmem.h
create mode 100644 m4/tuklib_common.m4
create mode 100644 m4/tuklib_physmem.m4
Reply to: