-
Notifications
You must be signed in to change notification settings - Fork 1
/
apt-forktracer.8
135 lines (126 loc) · 4.6 KB
/
apt-forktracer.8
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
.\" apt-forktracer - a utility for managing package versions
.\" Copyright (C) 2008 Marcin Owsiany <[email protected]>
.\"
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License along
.\" with this program; if not, write to the Free Software Foundation, Inc.,
.\" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
.TH APT-FORKTRACER 8 2008-11-16 "Debian Project"
.SH NAME
apt-forktracer \- a utility for managing package versions
.SH SYNOPSIS
.B apt-forktracer [ \-v ]
.SH DESCRIPTION
.SS Background
Maintaining Debian stable systems sometimes requires installation of unofficial
versions of packages:
.TP
backporting newer versions
This is necessary, when significant new functionality is required on the system
but unavailable in the official version found in the current stable release. In
this case, the version string usually sorts as newer than the official stable
version string. This means that pinning is not necessary, as APT will select
such package version by default.
.TP
local changes to the official version
Usually these are small changes, so a minor modification of the package version
string is sufficient. There are two ways to do this:
.sp 1
Try to invent a version string newer than the current one, but older than the
.I next
official one.
This way does not require pinning, but is difficult to do reliably.
It might turn out, that the next official version string is older than the one
invented by you, which would cause the official version to be silently ignored.
.sp 1
The other way is to modify the version string in such way that it sorts as older than the official one.
The tilde character is very useful here, because dpkg treats it in a special way:
it is sufficient to append any string starting with the tilde, to the version string, e.g.
.B 1.2
\(->
.BR 1.2~sl.1 .
This requires you to "pin" the package to that version, but it is more reliable,
because works regardless of what the next official version number will be.
.PP
In both cases, there is one major drawback: APT will not warn you when newer
versions of official packages (point releases, security updates) will appear in
the stable release.
This means you may miss some important change.
.sp 1
.BR apt-forktracer 's
job let you track newer official versions of locally overridden packages.
.SS "Official package version definition"
Official package version is a version which is available from a source,
whose Release file's Origin header value is equal to the system distributor
identifier, as indicated by the
.B "lsb_release \-\-id"
command, or by the
.B DISTRIB_ID
field in the
.I /etc/lsb-release
file.
.SS "Program operation"
.B apt-forktracer
analyzes each installed package separately, reporting on the standard output
these packages which are in a "non-standard" state. What "non-standard" means
depends on the mode of program operation:
.TP
default (non-verbose) mode
this state means packages in an incorrect state (e.g. no candidate version) or
packages whose candidate version is different than the newest available
official version.
.TP
verbose mode
this state also includes packages whose installed version is different from the candidate version
.PP
In the default mode the program also reads configuration files, which let you ignore
some of the "non-standard" packages, as long as they meet certain criteria.
If there is no configuration for a given package, then a default configuration is used.
More information is available in
.BR forktracer.conf (5).
.SS "Message format"
The program outputs messages such as the following:
.sp 1
.nf
foobar (1.2.3->1.2.4) [Debian: 1.2.3 1.2.4] [Other origin: 1.2.2]
.fi
.sp 1
Where:
.TP
.B foobar
package name
.TP
.B 1.2.3
installed package version
.TP
.B 1.2.4
candidate package version - see
.BR apt-cache (8).
.TP
.B Debian
the value of the "Origin" field of one of the package sources. Versions
available from this source are listed after a colon.
.TP
.B "Other origin"
another source origin
.SH OPTIONS
.TP
.B \-v
Turns on the verbose mode.
.SH FILES
.I /etc/apt/forktracer.conf
.br
.I /etc/apt/forktracer.d/*.conf
.SH "SEE ALSO"
.BR forktracer.conf (5),
.BR apt_preferences (5),
.BR apt-cache (8).