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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
|
2.1.2 -> 2.2:
- don't fail, and do report, if -K can't find a PGP key
- handle file names with quotes and spaces when passed to ldd
(still can't have spaces in %files)
- do not allow Buildprefix: in sub packages
- removed require_group from rpmrc -- groups are always required
- removed arch_sensitive from rpmrc -- always on
- removed docdir from rpmrc -- always /usr/doc
- fixed nasty bug in installing packages with large filelists
- made -R work
- --provides and --requries don't print anything if no information
is present (rather then (none) )
- -qi prints Summary now
- changed Buildprefix: -> Buildroot: (spec file, rpmrc)
--buildprefix -> --buildroot (command line)
RPM_BUILD_PREFIX -> RPM_BUILD_ROOT
(%prep, %build, %install, %clean)
sorry :-)
- allow Prefix: for sub-packages
- allow packager: in rpmrc
- --arch and --os are now --buildarch and --buildos
- magic arch/os handling through arch_canon and os_canon
see /usr/lib/rpmrc (in short: uname short_name num)
- removed build_arch: from rpmrc
Replacing it is buildarchtranslate: and buildostranslate:
to allow building with arch/os other than what uname() returns.
Can still be overriden with --buildarch and --buildos
- rpmrc keywords are now case-insensitive
- check os at install time
- check return code from gzread() during installs
- implemented os_compat
- added arch_compat and os_compat information to --showrc (the
changes needed to do this removed any lingering questions about
the efficiency of the compat lookups for large tables or tables
with loops -- it should all work fine)
- made -u (--uninstall) exit with an error and not do anything
- added --ignoreos
- fixed error message given when a file is missing
- fixed hashing when multiple packages are being modified
- changed man page for readability (thanks to Joseph L. Hartmann, Jr)
2.1.1 -> 2.1.2:
- fixed error message for unrelocateable packages
- automatic shared lib provides now work with buildprefix
- fixed dependency checking during upgrades to work if the
package wasn't previously installed
- clean up temp file after signature check
- dependencies weren't looking through packages that were
being installed at the same time quite right
2.1 -> 2.1.1:
- fixed -qi query format
2.0.11 -> 2.1:
- added --requires, --whatrequires, --provides and
--whatprovides queries
- using a string array tag in a queryformat results in every
item in the string being printed out with spaces in between
(though this behaviour will probably go away shortly)
- all packages are ftp'd before any are installed (required to
do proper dependency checking)
- if only source packages are being installed, the database is
never opened
- automatic shared library require/provides tags generated
- added --nodeps flag for install and uninstall
- added dependency checking for installs and uninstalls
- misc fixes to compile with glibc
- use PGPPATH if set (and no pgp_path: in rpmrc)
- remove pgp_pubring, pgp_secring stuff
- new extensible signature
- signature section supports multiple signatures
- --addsign to add a signature to a package
- PGP key no longer limited to 1024 bits
- always do at least an MD5 "signature"
as a result, -K will always tell you something
- signatures now include a simple "header+archive size" check
just calling readSignature() checks this
- --nopgp (with -K) to skip PGP check, just do MD5
- allow '#' comments in preamble and %files section
- fixed -qsv to print both the states and the file information
- added --dump option to query to print all file attributes
- installs with --root use the /etc/passwd and /etc/group from
the target directory
- added --initdb to aid in database initialization
- --queryformat can print items of type INT8
- "sourceless" packages with nosource: and nopatch:
- [] now allows interation through query formats
- '-' flag for query tags removed
- :date and :perms supported as query format specifiers
- new rpmrc entries "arch" and "os" to override
- --arch and --os on the command line to override
- arch and os are now strings in the package header
- added arch_compat handling in /etc/rpmrc
- added build_arch to /etc/rpmrc
- support arch as string
- added --ignorearch option
- Prefix: in spec file to specify default installation prefix
- rpmrc and command line may be used to override the path
used for the rpm database
- relocatable packages get installed properly
- added support for --prefix and RPM_INSTALL_PREFIX environemtn
variable
- added dependency checking for version numbers
- added correct dependency checking for upgrades
- added :depflags query format flag
- changes --provides, --requires, and --scripts queries to use
queryFormats
2.0.10 -> 2.0.11:
- fixed chmod(symlink) bug (since 2.0.9)
2.0.9 -> 2.0.10:
- fixed the fix to rpm -q <num> bug
to query by number you now need --querybynumber
- made arch_sensitive on by default
- handle # comments in preamble
- don't barf if we can't canonicalize the hostname during builds
- fixed --verify with --root
2.0.8 -> 2.0.9:
- %files -f <file>
- prelim Require/Provide handling
- prelim strict checking of spec file
- removed some bash-isms
- fixed globbing/root bug
- fixed rpm -q <num> bug
- fixed ftw() related bug where symlinks were being
followed in %files rather than just being noted!!
- pass "upgrade" arg to pre/post scripts when upgrading
- use PATH to find cpio when installing
- fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris
- added %attr(mode owner group) feature to file list
- fixed dumb %verify() parse bug
2.0.7 -> 2.0.8:
- explicitly turn off ASCII armor when running PGP
- fixed --noscripts logic, which was on by default and
off if you specified it!
- uses a temp file to pass filenames to cpio in case when
their are more then 500 filenames in a package
- added --rcfile
- fixed problem with $HOME/.rcfile not being read
- undocumented --search, --where, --keep-temps which
will probably won't be implemented in RPM 2.x anyway
2.0.6 -> 2.0.7:
- builds now set umask 022 for all scripts
- queries relative paths correctly (thanks to Johnie Stafford)
- fixed error codes for failed installs
- don't add NULL entry to group index for packages that don't
have group information, add it to the "Unknown" group instead
- added --scripts query option
- added --noscripts for installing and uninstall without using
the pre/post scripts
- "rpm -qd" and "rpm -qc" work properly now (they didn't imply
-l before)
2.0.5 -> 2.0.6:
- internal changes to error messages
2.0.4 -> 2.0.5:
- added support for generic querying
- added --querytags option
- updated man page for above two
- short-circuit got added before 2.0.5, but I don't know when
- query and installs should now return 0 on success and nonzero
otherwise (rpm -i should return the number of packages that
failed actually)
- made rpm -qa fail if extra arguments are passed to it
2.0.3 -> 2.0.4:
- added support for PowerPC, and OSF mklinux ports
- added --resign
- added --recompile
- added verbose error messages from Tyson Sawyer
- rpmconvert won't overwrite an existing database
- won't core dump querying old format source packages
- freed minor memory leak
- more descriptive error messages during build
- added support for not installing documentation
2.0.2 -> 2.0.3:
- added support for 686, 786, 886, 986
2.0.1 -> 2.0.2:
- fixed ftp.c to return an error code when select timeouts
- added basic NLS support, along with a Sweedish message catalog
(thanks to Michael Nyquist)
2.0 -> 2.0.1:
- hashing and percentages no longer SIGFPE on 0 byte packages
- when an ftp fails, install.c no longer tries to install the package
- uses /var/tmp rather then /usr/tmp during for ftp space
- added debugging messages to ftp.c
- fixed some mistakes in the PGP section of the man page
- added mdfile prototype to rpmlib.h - the Python module wants this
- fixed struct oldrpmlead to align properly on the alpha
2.0 - everything done :-)
2.0b -> 2.0c:
- an incredible number of changes - I won't bother trying to
list them
2.0a -> 2.0b:
- moved build stuff to main rpm command, though --rebuild is still
not supported
- install should work, although replaced files are not marked as
replaced
- %doc macro fixed
- --percent, --hash work for installs
- converted databases and packages get the file list in the correct
order now
- none of this is well tested
- rpms are output to proper dirs (which are always arch sensitive)
- basic rpmrc functions are implemented, full parsing is present
- changed error messages for missing files to include full path
- fixed detection of Alpha's
1.4.6 -> 2.0a:
- completely rewritten in C
- verification missing
- build functionality not in main rpm, in rpmbuild instead
(this will be corrected)
- an awful lot is still missing - this is an ALPHA release
1.4.5 -> 1.4.6:
- fixed rpmq problem with packages w/o groups (old RPM's would do this)
- fixed uninstalling with --root
1.4.4 -> 1.4.5:
- added support for mips processors
- added support for osf1 and irix os's
1.4.3 -> 1.4.4:
- fixed bug in arch detection code which caused i386 failure
1.4.2 -> 1.4.3:
- added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures
- fixed sparc arch, added arch sanity check
1.4.1 -> 1.4.2:
- added --root to man page, usage, and help messages
- added a " " to the "Creating directory" debug message in install.pl
- make --rebuild fail on binary packages
- don't output prep/build/install sections if there aren't any
1.4 -> 1.4.1:
- fixed man page
- updated corruption messages to not mention --rebuild
- added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables
at build time
- no longer allows installing binary packages across architectures
- fixed handling of symlinks marked as config files
1.3.2 -> 1.4:
- make -v the default when using -b and --rebuild
- added %postbuild as an alias for %clean
- added gendiff
- added groups file installed in /usr/lib/rhs/rpm
- made usage message different and more concise then the --help message
- added --version option
- updated man page
- changed C build tree for concurrent building on multiple architectures
1.3.1 -> 1.3.2:
- add -b option to %patch
- fixed install/chroot temp file deleting
1.3 -> 1.3.1:
- fixed bug when doing md5 of erased config file during rpm -u
- fixed spec file searching
1.2 -> 1.3:
- added --search and --where options
- multiarchitecture support
- added --rebuild option
- started C rewrite - rpmq (query options only)
1.1 -> 1.2:
- preuninstalls weren't getting handled properly
- Alpha architecture is now recognized and builds are allowed
- the database open is checked for success before continuing
- rpm -b? checks the SPEC files for package names given as args
|