debget [switch]... { package |
section/package | file.dsc | file.deb }...
debget downloads source and binary Debian packages by name
and optionally unpacks, compiles and installs them. The default behavior is
to download the source for packages, to unpack and build *.dsc files
and to install *.deb files. For detailed defaults on FTP server names
and such run "debget --help".
debget doesn't require a local copy of the Packages
files, instead it lists directories on the FTP site to find out what
versions are available.
Non-switch arguments are *.dsc files, *.deb files,
and package names or section/package, eg base/dpkg or
non-free/games/quake2. There are two cases in which you've got to
specify the section:
- Information about the package isn't in the local available file (as
shown by "dpkg --print-avail"), or the
information there is wrong.
- You're downloading a source package which doesn't generate a binary
package of the same name. Normally debget infers the correct source
package to download based on the "dpkg
--print-avail" output. (Eg, if you say to download the source
for perl-base, it will really download the perl sources.)
This isn't possible if the source package doesn't have an available
file entry (which is the case when the source package doesn't generate a
binary package of the same name). In this case debget will use the
section for the package which you specified (perl-base in this
case). If the section for that package isn't available, or if it's not the
same as the section for the source package, you have to specify the
section yourself.
To handle either of these cases, specify the package with the
section prepended, as it would appear in the available file. Eg,
base/dpkg or non-free/games/quake2.
- --arch
arch
- Specify the installation architecture (used to find binary packages). The
default is the output of "dpkg
--print-architecture".
- -b, --binary
- Download binary packages. The default is not to download them.
- -B,
--nobinary
- Don't download binary packages. This is the default.
- -u, --build
- Build downloaded source packages. This implies --unpack.
--build is turned off by default, but it is turned on if you
specify any *.dsc or *.deb files on the command line.
- --debug
- Turn debugging on. Specify multiple times for more detail.
- --dir dir
- Specify the path to the top of the Debian hierarchy on the primary FTP
server.
- -d dist, --dist
dist
- Specify the distribution from which to download packages. The default is
unstable. You can use the name of any subdirectory in the
dists directory in the Debian archive, or experimental
(which is special-cased).
- --help
- Show the usage message and die.
- -h host, --host
host
- Specify the host name of the primary FTP server.
- -i, --install
- Install binary packages. This turns on --unpack and --build,
so specifying it will cause debget to install just about everything
you mention on the command line. Packages will be downloaded, unpacked,
built, and installed, *.dsc files will be unpacked, built, and
installed, and *.deb files will be installed.
- -n, --no
- Go through the motions, but don't actually download any packages.
- -f,
--no-config
- Don't process either /etc/debget.rc or ~/.debget.rc.
- --no-download-re
re
- Don't download files whose name match the Perl regexp re. This
option can be specified multiple times.
- --no-download-tar
- Don't download *.tar.gz files. This is normally used when
downloading sources, when specified you'll just fetch the *.diff.gz
and *.dsc files.
- --no-dscverify
- Don't run dscverify before unpacking sources. dscverify
checks that the .dsc file is signed by a Debian developer and that
the MD5 sums and file sizes given in it match the files about to be
unpacked. These are good things, so debget will try to run
dscverify by default. The dscverify program is in the
devscripts package.
- -F,
--no-user-config
- Don't process ~/.debget.rc.
- --non-us-dir
dir
- Specify the path to the top of the Debian hierarchy for non-US
packages.
- -H host,
--non-us-host host
- Specify the host name of the non-US FTP server.
- -r cmd,
--root-build cmd
- Use cmd to become root when building a package from source. The
default is the first of fakeroot, sudo, super, or
su which is present on the system.
- -R cmd,
--root-install cmd
- Use cmd to become root when installing a package. The default is
what you gave for --root-build if you specified anything, otherwise
the first of sudo, super, or su which is present on
the system.
- -s, --source
- Download source packages. This is the default.
- -S,
--nosource
- Don't download source packages. The default is to download them.
- --unpack
- Unpack downloaded source packages.
- -v, --verbose
- Be verbose.
- --version
- Print the version number and exit.
The default behavior of debget can be modified by the
configuration files /etc/debget.rc and ~/.debget.rc (unless
modified by the -f or -F switches). These files are processed
as Perl code. They can set these variables to control the program (with
their corresponding switches):
- $O{'arch'}
- --arch
- $O{'binary'}
- --binary, boolean
- "{$O{'build'}"
- --build, boolean
- $O{'debug'}
- --debug, integer
- $O{'dir'}
- --dir
- $O{'dist'}
- --dist
- $O{'host'}
- --host
- $O{'install'}
- --install, boolean
- $O{'no'}
- --no, boolean
- $O{'no-config'}
- --no-config, boolean
- $O{'no-download-re'}
- --no-download-re, array reference
- $O{'no-download-tar'}
- --no-download-tar, boolean
- $O{'no-dscverify'}
- --no-dscverify, boolean
- $O{'no-user-config'}
- --no-user-config, boolean
- $O{'non-us-dir'}
- --non-us-dir
- $O{'non-us-host'}
- --non-us-host
- $O{'root-build'}
- --root-build
- $O{'root-install'}
- --root-install
- $O{'source'}
- --source, boolean
- $O{'unpack'}
- --unpack, boolean
- $O{'verbose'}
- --verbose, boolean
Here's an example configuration file:
$O{'host'} = 'debian.terrabox.com';
$O{'verbose'} = 1;
If you specify --install all produced binary packages will
be installed, even ones you didn't specify on the command line. Eg, if you
run "debget --install
ssh" it will install both ssh and ssh-askpass.
I'd like to add a --clean switch which will make the
program remove intermediate files.
See /usr/share/doc/debget/README.Debian if your transfers
are failing because you need to use passive FTP or a proxy.
The code is licensed under the GNU GPL and distributed as part of
Debian.
Roderick Schertler <roderick@argon.org>