Section: dpkg utilities (1)
Updated: 2008-08-18
Index Return to Main Contents


dpkg-name - rename Debian packages to full package names  


dpkg-name [options] [--] files  


This manual page documents the dpkg-name program which provides an easy way to rename Debian packages into their full package names. A full package name consists of <package>_<version>_<architecture>.<package_type> as specified in the control file of the package. The <version> part of the filename consists of the upstream version information optionally followed by a hyphen and the revision information. The <package_type> part comes from that field if present or fallbacks to deb.  


-a, --no-architecture
The destination filename will not have the architecture information.
-k, --symlink
Create a symlink, instead of moving.
-o, --overwrite
Existing files will be overwritten if they have the same name as the destination filename.
-s, --subdir [dir]
Files will be moved into a subdirectory. If the directory given as argument exists the files will be moved into that directory otherwise the name of the target directory is extracted from the section field in the control part of the package. The target directory will be `unstable/binary-<architecture>/<section>'. If the section is not found in the control, then `no-section' is assumed, and in this case, as well as for sections `non-free' and `contrib' the target directory is `<section>/binary-<architecture>'. The section field isn't required so a lot of packages will find their way to the `no-section' area. Use this option with care, it's messy.
-c, --create-dir
This option can used together with the -s option. If a target directory isn't found it will be created automatically. Use this option with care.
-h, --help
Show the usage message and exit.
-v, --version
Show the version and exit.
-l, --license
Show the copyright licensing terms and exit.


dpkg-name bar-foo.deb
The file `bar-foo.deb' will be renamed to bar-foo_1.0-2_i386.deb or something similar (depending on whatever information is in the control part of `bar-foo.deb').
find /root/debian/ -name aq*.debaq | xargs -n 1 dpkg-name -a
All files with the extension `deb' in the directory /root/debian and its subdirectory's will be renamed by dpkg-name if required into names with no architecture information.
find -name aq*.debaq | xargs -n 1 dpkg-name -a -o -s -c
Don't do this. Your archive will be messed up completely because a lot of packages don't come with section information. Don't do this.
dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb
This can be used when building new packages.


Some packages don't follow the name structure <package>_<version>_<architecture>.deb. Packages renamed by dpkg-name will follow this structure. Generally this will have no impact on how packages are installed by dselect(1)/ dpkg(1), but other installation tools might depend on this naming structure.  


deb(5), deb-control(5), dpkg(1), dpkg-deb(1), find(1), xargs(1).  


Copyright © 1995,1996 Erick Branderhorst

This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is NO WARRANTY.