Dpkg::Compression::Process(3perl) libdpkg-perl Dpkg::Compression::Process(3perl)

# [NAME](#NAME)

Dpkg::Compression::Process - run compression/decompression processes

# [DESCRIPTION](#DESCRIPTION)

This module provides an object oriented interface to run and manage compression/decompression processes.

# [METHODS](#METHODS)

$proc = Dpkg::Compression::Process-&gt;new(%opts)

Create a new instance of the object.

Options:

[**compression**](#compression)

See $proc-&gt;**set\_compression()**.

[**compression\_level**](#compression_level)

See $proc-&gt;**set\_compression\_level()**.

$proc-&gt;set\_compression($comp)

Select the compression method to use. It errors out if the method is not supported according to **compression\_is\_supported()** (of Dpkg::Compression).

$proc-&gt;set\_compression\_level($level)

Select the compression level to use. It errors out if the level is not valid according to **compression\_is\_valid\_level()** (of Dpkg::Compression).

@exec = $proc-&gt;**get\_compress\_cmdline()**

@exec = $proc-&gt;**get\_uncompress\_cmdline()**

Returns a list ready to be passed to **exec()**, its first element is the program name (either for compression or decompression) and the following elements are parameters for the program.

When executed the program acts as a filter between its standard input and its standard output.

$proc-&gt;compress(%opts)

Starts a compressor program. You must indicate where it will read its uncompressed data from and where it will write its compressed data to. This is accomplished by passing one parameter "to\_\*" and one parameter "from\_\*" as accepted by **Dpkg::IPC::spawn()**.

You must call **wait\_end\_process()** after having called this method to properly close the sub-process (and verify that it exited without error).

Options:

See **Dpkg::IPC::spawn()**.

$proc-&gt;uncompress(%opts)

Starts a decompressor program. You must indicate where it will read its compressed data from and where it will write its uncompressed data to. This is accomplished by passing one parameter "to\_\*" and one parameter "from\_\*" as accepted by **Dpkg::IPC::spawn()**.

You must call **wait\_end\_process()** after having called this method to properly close the sub-process (and verify that it exited without error).

Options:

See **Dpkg::IPC::spawn()**.

$proc-&gt;wait\_end\_process(%opts)

Call **Dpkg::IPC::wait\_child()** to wait until the sub-process has exited and verify its return code. Any given option will be forwarded to the **wait\_child()** function. Most notably you can use the "no\_check" option to verify the return code yourself instead of letting **wait\_child()** do it for you.

Options:

See **Dpkg::IPC::wait\_child()**.

# [CHANGES](#CHANGES)

## [Version 1.00 (dpkg 1.15.6)](#Version_1.00_%28dpkg_1.15.6%29)

Mark the module as public.

2026-09-09 1.23.11-dirty

---

Document: Dpkg::Compression::Process(3perl) from dpkg 1.23.11-r3 (Chainguard OS)
Source: https://git.dpkg.org/git/dpkg/dpkg.git
