---
name: "Debian::Debget"
section: "3pm"
platform: "linux"
package: "debget"
version: "1.6+nmu4"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Debian::Debget"
---

# Debian::Debget(3pm)

helper functions used by debget et al

## NAME

Debian::Debget - helper functions used by debget et al

## SYNOPSIS

XXX

## DESCRIPTION

These are functions used by **debget** and related scripts, but you can use them, too.  I will do everything possible to retain backwards compatibility for the interfaces documented here.

Most of these functions will `"die"` if they're called in a context (scalar, list) which doesn't match what they expect.  This is so that I will be able to change them to return something different in the other context without breaking old code.

## IMPORTABLES

- binary\_package\_info *package*

  This function returns some information about a binary package.

  If the *package* isn't found nothing is returned.  If it is found, the return value is a data structure like this:

  ```
      $r->{$distribution}{$architecture} = $version;
      # $distribution => 'stable', 'experimental', etc.
      # $architecture => 'i386', 'powerpc', etc.
  ```

  If something goes seriously wrong **binary\_package\_info** will `"die"`.

- source\_package\_info *package*

  This function returns some information about a source package.

  If the *package* isn't found nothing is returned.  If it is found, the return value is a data structure like this:

  ```
      $r->{$distribution} = [$version, @binary_package_list];
      # $distribution => 'stable', 'experimental', etc.
      # $version      => '123.4-5', etc.
      # @binary_package_list => qw(nethack-common nethack-x11), etc.
  ```

- cmp\_debian\_versions *v1*, *v2*

  This is like `"cmp"` for Debian package version numbers.  It is prototyped to take 2 scalar arguments, so it can be used as-is as a `"sort"` comparison function.

- upstream\_version *debian-version*

  This returns the upstream version extracted from the given *debian-version*

- pool\_dir *package*

  This returns the pool directory (starting at the `"pool/"` level) in which files for *package* are stored.  *package* can be either a binary or source package name.

## SEE ALSO

[*debget*(1)](/debget/1.md), [*AptPkg*(3pm)](/AptPkg/3pm.md)

## AUTHOR

Roderick Schertler \<roderick@argon.org\>
