Skip to content
Snippets Groups Projects
  1. Jan 10, 2023
    • Guillem Jover's avatar
    • Guillem Jover's avatar
      debian: Update copyright years · 98174a0e
      Guillem Jover authored
      98174a0e
    • Guillem Jover's avatar
      man: Add a note to dpkg-fsys-usrunmess(8) about Debian support · cbb34075
      Guillem Jover authored
      Closes: #1008486
      cbb34075
    • Guillem Jover's avatar
      libdpkg: Add zstd support for .deb archives · 2c2f7066
      Guillem Jover authored
      This adds support for .deb ZStandard compression and decompression.
      The main reason for this addition is due to Ubuntu having forked the
      .deb ecosystem when they added support for this unilaterally, so now
      there are many .deb in the wild using this compression format, which
      cannot be handled by the upstream dpkg-deb tool.
      
      Although at least now the ZStandard format is widely used on many
      projects, has been specified within the IETF as RFC8878, so backwards
      compatibility and format stability are no longer a concern, and it has
      good trade offs between size and speed.
      
      This has been implemented from scratch, based on the initial prototype
      code used during the early request evaluation. Using the new advanced
      API, with support for multi-threading, and using an I/O loop resembling
      the one used with liblzma, as the plan is to eventually switch all
      compressors to use a single I/O loop implementation.
      
      Closes: #892664
      2c2f7066
    • Guillem Jover's avatar
      libdpkg: Abstract compression stream status tracking · da2a72dd
      Guillem Jover authored
      Use a new enum dpkg_stream_status to track the stream status, instead of
      using the liblzma codes directly in the I/O loop, which will make it
      possible in the future to generalize and use a single loop for all
      compressors.
      da2a72dd
    • Guillem Jover's avatar
      libdpkg: Generalize compression stream action handling · 64e1d8cb
      Guillem Jover authored
      Stop handling the xz/lzma actions using the liblzma specific actions,
      and use a generic enum, renamed from the old dpkg_stream_status, which
      was in fact partially handling the action. This will make it easier in
      the future to use the same action for all compressors.
      64e1d8cb
    • Guillem Jover's avatar
      libdpkg: Split compression filter operation tracking from its status · 02f30a53
      Guillem Jover authored
      Tracking the compression filter operation and its status merges two
      distinct values into the same variable making things more difficult,
      as we were using bits when these should really be mutually exclusive
      values.
      02f30a53
    • Guillem Jover's avatar
      libdpkg: Switch dpkg_lzma_strerror() to use struct io_lzma · 785a3f36
      Guillem Jover authored
      Instead of passing the dpkg_stream_action enum, pass the io_lzma struct,
      so that we can use other members if needed.
      785a3f36
    • Guillem Jover's avatar
      libdpkg: Move compression level max bound check from dpkg-deb · 75d0fbec
      Guillem Jover authored
      The compression level max bound check is specific to each compressor,
      and we cannot simply use a single max bound for every compressor. Move
      the check into the compressor_check_params() function where we can check
      whether it is coherent with the compressor requested.
      
      The dpkg_options_parse_arg_int() already makes sure we get a sanitized
      value that is 0 or larger but not larger than INT_MAX.
      75d0fbec
    • Guillem Jover's avatar
      test: Add dpkg-deb build and extract tests · 86ceb336
      Guillem Jover authored
      We were testing showing or listing the contents, but not explicitly
      building the compressed packages nor extracting them.
      
      Include the ChangeLog.old file which is big, and will better exercise
      the compressors.
      86ceb336
  2. Jan 07, 2023
    • Guillem Jover's avatar
      Dpkg::BuildFlags: Fix strip method to always work with duplicates · 5f6e45fb
      Guillem Jover authored
      The regex was not correctly matching at the beginning of the line with
      leading spaces, which could be left by a previous replacement from
      the same s/// operator. Instead switch to split the flag value and
      filter based on a hash, which means we do not need to care about such
      space issues anymore.
      
      This change should not change the semantics for space separated options
      in the flags, as the code was already splitting the passed values on
      spaces, and then remapping on the entire flag value.
      
      Improve strip unit tests to cover all these cases.
      
      Closes: #1028044
      5f6e45fb
  3. Jan 06, 2023
  4. Jan 05, 2023
  5. Jan 04, 2023
  6. Jan 03, 2023
  7. Jan 02, 2023
  8. Jan 01, 2023
Loading