DPKG-REPACK(1) DPKG-REPACK(1)
NAME
dpkg-repack - put an unpacked .deb file back together
SYNOPSIS
dpkg-repack [--root=dir] [--arch=architecture] [--generate] packagename [packagename
...]
DESCRIPTION
dpkg-repack creates a .deb file out of a Debian package that has already been
installed on your system. If any
changes have been made to the package while it was unpacked (ie, files in /etc
modified), the new package will
inherit the changes.
This utility can make it easy to copy packages from one computer to another, or
to recreate packages that are
installed on your system, but no longer available elsewhere.
Note: dpkg-repack will place the created package in the current directory.
OPTIONS
--root=dir
Take package from filesystem rooted on <dir>. This is useful if, for example,
you have another computer nfs
mounted on /mnt, then you can use --root=/mnt to reassemble packages from that
computer.
--arch=architecture
Make the package be for a different architecture. dpkg-repack cannot tell if an
installed package is
architecture all or is specific to the systemâs architecture, so by default it
uses dpkg --print-architecâ
ture to determine the build architecture. If you know the package is
architecture all, you can use this
option to force dpkg-repack to use the right architecture.
--generate
Generate a temporary directory suitable for building a package from, but do not
actually create the packâ
age. This is useful if you want to move files around in the package before
building it. The package can be
built from this temporary directory by running "dpkg --build", passing it the
generated directory.
packagename
The name of the package to attempt to repack. Multiple packages can be listed.
BUGS
This program accesses the dpkg database directly in places, querying for data
that cannot be gotten via dpkg.
There is a tricky situation that can occur if you dpkg-repack a package that has
modified conffiles. The modified
conffiles are packed up. Now if you install the package, dpkg does not realize
that the conffiles in it are modiâ
fied. So if you later upgrade to a new version of the package, dpkg will believe
that the old (repacked) package
has older conffiles than the new version, and will silently replace the
conffiles with those in the package you
are upgrading to.
While dpkg-repack can be run under fakeroot and will work most of the time,
fakeroot -u must be used if any of the
files to be repacked are owned by non-root users. Otherwise the package will
have them owned by root. dpkg-repack
will warn if you run it under fakeroot without the -u flag.