summaryrefslogtreecommitdiff
path: root/dpkg-repack.1
blob: 4a9ce43086d3e3cf9804cff160845b03633e61cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
.TH DPKG-REPACK 1 "Debian Utilities" "DEBIAN"
.SH NAME
dpkg\-repack \- put an unpacked .deb file back together
.SH SYNOPSIS
\fBdpkg\-repack\fP [\fB\-\-root=dir\fP] [\fB\-\-arch=architecture\fP] [\fB\-\-generate\fP] \fBpackagename\fP [\fBpackagename ...\fP]
.br
.SH DESCRIPTION
.I 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,
conffiles files in /etc modified), the new package will inherit the
changes. (There are exceptions to this, including changes to configuration
files that are not conffiles, including those managed by ucf.)

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:
.I dpkg\-repack
will place the created package in the current directory.

.SH OPTIONS

.TP
.I \-\-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.

.TP
.I \-\-arch=architecture
Make the package be for a specific architecture.
.I dpkg\-repack
might not be able to tell if an installed package is architecture all or
is specific to the system's architecture, in case it lacks the
.I Architecture
field. If you know the package architecture, you can use this option to force
.I dpkg\-repack
to use the right architecture.

.TP
.I \-\-generate
Generate a temporary directory suitable for building a package from, but do
not actually create the package. 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\-deb \-\-build", passing it the
generated directory.

.TP
.I packagename
The name of the package to attempt to repack. Multiple packages can be listed.

.SH BUGS

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
modified. 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.

.P

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.

.SH AUTHOR
Joey Hess <joeyh@debian.org>