logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pk4 - make available the Debian source package producing the specified package

Author

       Michael Stapelberg <stapelberg at debian.org>

Linux                                             OCTOBER 2017                                            pk4(1)

Configuration File

       The following attributes can be configured in ~/.config/pk4/pk4.deb822:

       Disk-Usage-Limitbytes
              Example:

              Disk-Usage-Limit: 2GiB

Description

pk4 resolves the specified argument(s) as either:

       1. the name of a Debian binary package, and selects its Debian source package.

       2. the name of a Debian source package, and selects it.

       3. or a file path, and selects the Debian source package of the owning package.

       The source package version is either the installed version (if any) or the installation candidate, as per
       apt-cachepolicy.

       Then,  pk4  downloads  the entire selected source package (every file referenced by — and including — its
       .dsc file) and prints the output directory path.

Examples

                            # Avail the current Linux kernel sources:
                     pk4 -src linux

              # Avail the sources which produced Debian binary package libbz2-1.0
              pk4 libbz2-1.0

              # Avail the sources of whichever package currently provides vi:
              pk4 -file $(which vi)

              # Fetch the i3 source, apply a bugfix, rebuild and replace installed packages:
              pk4 i3
              patch -p1 < /tmp/myfix.patch
              pk4-replace

              # Avail all debhelper build system implementations:
              pk4 -allow_unauthenticated $(grep '^dh-*' /var/cache/pk4/completion.both.txt)
              # Grep through their sources:
              grep -r option ~/.cache/pk4/dh-*

Hooks

       The following hooks can be configured:

       after-download
              after-download hooks are run after the package was successfully downloaded. Examples:

              # Automatically create a git repository for each package:
              mkdir -p ~/.config/pk4/hooks-enabled/after-download/
              ln -s /usr/share/pk4/hooks-available/after-download/git-init \
              ~/.config/pk4/hooks-enabled/after-download/unpack unpack hooks replace the unpack phase: as soon as one or more unpack hooks are found, pk4 will run
              them instead of running dpkg-source -x. Examples:

              # Unpack source into a new git-buildpackage repository:
              apt install git-buildpackage
              mkdir -p ~/.config/pk4/hooks-enabled/unpack/
              ln -s /usr/share/pk4/hooks-available/unpack/gbp \
              ~/.config/pk4/hooks-enabled/unpack/

Name

       pk4 - make available the Debian source package producing the specified package

Options

-allow_unauthenticated
              Whether to allow unauthenticated source packages, i.e. disable signature checking.

       -bin   Restrict search to binary packages only.

       -complete
              Whether to return shell completions. Should usually be set by shell completion functions only.

       -deststring
              Directory in which to store source packages (default ~/.cache/pk4).

       -file  Interpret the argument as a file name and operate on the package providing the file.

       -resolve_only
              Resolve the provided arguments to source package and source package version, then  print  them  to
              stdout in %s\t%s\n format and exit.

       -shellstring
              Which shell to start in the output directory after downloading the source (default $SHELL)

       -src   Restrict search to source packages only.

       -verbose
              Whether to print messages to stderr.

       -versionstring
              Use  the  specified source package version (default: installed package version, or latest known if
              not installed).

See Also

pk4-generate-index(1)
              (Re-)generate index files for pk4

       pk4-replace(1)
              build sources and replace currently installed packages

Synopsis

pk4 [options] package...

See Also