~ubuntu-branches/ubuntu/edgy/rpm/edgy

« back to all changes in this revision

Viewing changes to CHANGES

  • Committer: Bazaar Package Importer
  • Author(s): Joey Hess
  • Date: 2002-01-22 20:56:57 UTC
  • Revision ID: james.westby@ubuntu.com-20020122205657-l74j50mr9z8ofcl5
Tags: upstream-4.0.3
ImportĀ upstreamĀ versionĀ 4.0.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
4.0.2 -> 4.0.3:
 
2
        - update per-interpreter dependency scripts, add sql/tcl (#20295).
 
3
        - fix: rpmvercmp("1.a", "1.") returned -1, not +1 (#21392).
 
4
        - add cpuid asm voodoo to detect athlon processors.
 
5
        - add %exclude support (i.e. "everything but") to %files.
 
6
          (Michael (Micksa) Slade" <micksa@knobbits.org>)
 
7
        - add --with/--without popt glue for conditional builds(Tomasz Kloczko).
 
8
        - python: strip header regions during unload.
 
9
        - add -g to optflags in per-platform config.
 
10
        - permit confgure/compile with db3-3.2.9.
 
11
        - permit manifest files as args to query/verify/install modes.
 
12
        - fix: parameterized macro segfault (Jakub Bogusz <qboosh@pld.org.pl>)
 
13
        - fix: i18n tags in rpm-2.5.x had wrong offset/length (#33478).
 
14
        - fix: AIX has sizeof(uint_16) != sizeof(mode_t) verify cast needed.
 
15
        - fix: zero length hard links unpacked incorrectly (#34211).
 
16
        - fix: --relocate missing trailing slash (#28874,#25876).
 
17
        - fix: --excludedoc shouldn't create empty doc dir (#14531).
 
18
        - fix: %_netsharedpath needs to look at basenames (#26561).
 
19
        - fix: --excludepath was broken (#24434).
 
20
        - fix: s390 (and ppc?) could return CPIOERR_BAD_HEADER (#28645).
 
21
        - fix: Fwrite's are optimized out by aggressive compiler(irix) (#34711).
 
22
        - portability: vsnprintf/snprintf wrappers for those without (#34657).
 
23
        - more info provided by rpmdepOrder() debugging messages.
 
24
        - merge (compatible) changes from top-of-stack into rpmlib.h.
 
25
        - cpio mappings carry dirname/basename, not absolute path.
 
26
        - fix: check waitpid return code.
 
27
        - remove support for v1 src rpm's.
 
28
        - re-position callbacks with ts/fi in cpio payload layer.
 
29
        - state machines for packages (psm.c) and payloads (fsm.c)
 
30
        - add --repackage option to put erased bits back into a package.
 
31
        - fix: (ppc) copy va_list in loop (#36845).
 
32
        - cpanflute perl dependency needs explicit epoch (#37034).
 
33
        - regenerate rpm.8 man page from docbook glop (in max-rpm).
 
34
        - lib/depends.c: diddle debugging messages.
 
35
        - fix: readlink return value clobbered by header write.
 
36
        - fix: ineeded count wrong for overlapped, created files.
 
37
        - globalize _free(3) wrapper in rpmlib.h, consistent usage throughout.
 
38
        - internalize locale insensitive ctype(3) in rpmio.h.
 
39
        - boring lclint annotations and fiddles.
 
40
        - transaction iterator(s) need to run in reverse order on pure erasures.
 
41
        - erasures not yet strict, warn & chug on unlink(2)/rmdir(2) failure.
 
42
        - more boring lclint annotations and fiddles.
 
43
        - yet more boring lclint annotations and fiddles.
 
44
        - still more boring lclint annotations and fiddles.
 
45
        - enough lclint annotations and fiddles already.
 
46
        - fix: specfile queries with BuildArch: (#27589).
 
47
        - fix: debugging message displays header keys (#38454).
 
48
        - use internal db-3.2.9 sources to build by default.
 
49
        - don't build db1 support by default.
 
50
        - create rpmdb.la so that linkage against rpm's db-3.2.9 is possible.
 
51
        - rpm database has rpm.rpm g+w permissions to share db3 mutexes.
 
52
        - expose more db3 macro configuration tokens.
 
53
        - move fprint.[ch] and hash.[ch] to rpmdb directory.
 
54
        - detect and fiddle incompatible mixtures of db3 env/open flags.
 
55
        - add DBI_WRITECURSOR to map to db3 flags with CDB database model.
 
56
        - add rpmdbSetIteratorRewrite to warn of pending lazy (re-)writes.
 
57
        - harden rpmdb iterators from damaged header instance segfaults.
 
58
        - add cron/logrotate scripts to save installed package filenames.
 
59
        - upgrade to db-3.3.4.
 
60
        - fix: filter duplicate package removals (#35828).
 
61
        - add armv3l arch.
 
62
        - fix: i18n strings need 1 on sucess return code (#41313).
 
63
        - fix: skip %ghost files when building packages (#38218).
 
64
        - headerFree() returns NULL, _free is C++ safe.
 
65
        - remove all header region assertion failures, return NULL instead.
 
66
        - perform db->verify when closing db files.
 
67
        - eliminate db-1.85 and db-2.x configuration.
 
68
        - fix: popt arg sanity checks broken, optarg != optArg.
 
69
        - fix: popt range checks on floats/doubles broken.
 
70
        - popt: return POPT_ERROR_ERRNO on config open/read/close failure.
 
71
        - fix: popt exec doesn't add '--', --target et al no longer need '='.
 
72
        - fix: popt consume-next-arg "!#:+" w/o side effect (#41956).
 
73
        - fix: for busted db1, attempt chain reconnection to following record.
 
74
        - return multiple suggested packages
 
75
          (Pawel Kolodziej <pawelk@pld.org.pl>).
 
76
        - fix: return suggested packages when using Depends cache.
 
77
        - merge sparc64/ia64 fiddles back into linux.{req,prov}.
 
78
        - automagically generate perl module dependencies always.
 
79
        - fix: lclint fiddles broke uCache initialization (#43139).
 
80
        - always use db cursors.
 
81
        - permit duplicates for btree indices.
 
82
        - document build modes in rpmbuild.8, rpmbuild is born.
 
83
        - default to dbenv with mpool, --rebuilddb with nofsync is much faster.
 
84
        - fix: QUERY_FOR_LIST file count clobbered.
 
85
        - create top level rpmcli API, factor top level modes into popt tables.
 
86
        - popt: add POPT_BIT_SET/POPT_BIT_CLR to API.
 
87
        - autogen.sh checks for latest libtool-1.4 and automake-1.4-p2.
 
88
        - rpm --verify reports failure(s) if corresponding tag is not in header.
 
89
        - rpm --verify honors %config(missingok), add -v for legacy behavior.
 
90
        - remove dead code frpm popt table reorg.
 
91
        - more CLI typedefs/prototypes moved from rpmlib.h to rpmcli.h.
 
92
        - rpm --verify skips files in non-installed states.
 
93
        - rpm --verify skips content checks for %ghost files.
 
94
        - rpm --verify displays config/doc/gnost/license/readme atrrs for files.
 
95
        - rpm --verify checks immutable header region digest if available.
 
96
        - rpmbuild adds header region digest (SHA1 as string).
 
97
        - use rpmTag* typedefs in new hge/hae/hme/hre header vectors.
 
98
        - remove rpmrc Provides: Yet Again, use virtual packages.
 
99
        - dump cursor debugging wrappers.
 
100
        - rpm --verify can disable rpmFileAttr checks.
 
101
        - add rpmdbSetIteratorRE() for regex matching in database iterators.
 
102
        - permit rpm -qa to take RE args applied to name tag.
 
103
        - permit dbiFindMatches() to use version/release patterns.
 
104
        - eliminate all uses of rpmdbSetIterator{Version,Release}.
 
105
        - fix: db1 end-of-file not detected in legacy compatible way.
 
106
        - fix: remove (harmless) chown error message from %post.
 
107
        - add --target/--host to %configure, add example cross-build/config.site
 
108
          scripts to /usr/lib/rpm <arjanv@redhat.com> (#44581).
 
109
        - rpmdb iterator selectors permit default/strcmp/regex/glob matching.
 
110
        - rpmdb iterator selectors permit negative matches.
 
111
        - alpha: don't add "()(64bit)" dependency markers.
 
112
        - ia64/sparc: <arch>.{req,prov} identical to linux.{req,prov}.
 
113
        - add "rpmlib(ScriptletInterpreterArgs)" to track
 
114
            %post -p "/sbin/ldconfig -n /usr/lib"
 
115
          incompatibilities.
 
116
        - popt: add POPT_ARGFLAG_SHOW_DEFAULT to display initial values(#32558).
 
117
        - popt: add POPT_CONTEXT_ARG_OPTS for all opts to return 1 (#30912).
 
118
        - fix: fsm reads/writes now return error on partial I/O.
 
119
        - fix: Ferror returned spurious error for gzdio/bzdio.
 
120
        - check for API/ABI creep, diddle up some compatibility.
 
121
        - preliminary abstraction to support per-header methods.
 
122
        - finalize per-header methods, accessing headerFoo through vector.
 
123
        - make package ordering loop messages debug, not warning.
 
124
        - remove {ia64,sparc}-linux.{prov,req}, changes merged into linux.*.
 
125
        - fix: partial sets of hardlinked files permitted in payload.
 
126
        - fix: mark rpmdb files with %config to prevent erasure on downgrade.
 
127
        - work around a (possible) compiler problem on ia64.
 
128
        - fix: rpm -qlv link count for directories dinna include '..'.
 
129
        - fix: rpm -qlv size for directories should be zero.
 
130
        - add --noghost to filter non-payload files from rpm -qlv output.
 
131
        - add %{_gnu} macro to append "-gnu" to %{_target_platform} to
 
132
          support --target/--host flavored %configure. Legacy behavior
 
133
          available by undefining %{_gnu}.
 
134
        - propagate %{_gnu} to per-platform configuration.
 
135
        - fix: parameterized macros with massive mumber of options need
 
136
          "optind = 1" "Dmitry V. Levin" <ldv@alt-linux.org>.
 
137
        - add athlon per-platform configuration.
 
138
        - remove executable bit to disable autogenerated perl requires until
 
139
          perl provides can be vetted.
 
140
        - disable per-platform %%configure use of %%_gnu until libtool package
 
141
          stabilizes.
 
142
        - fix: permit partially enumerated hardlink file sets during build.
 
143
        - fix: resurrect rpm signature modes.
 
144
        - fix: sanity checks on #tags (<65K) and offset (<16Mb) in header.
 
145
        - fix: add -r to useradd to prevent /etc/skel glop (#46215).
 
146
        - fix: disambiguate typedef and struct name(s) for kpackage.
 
147
        - update intl dirs to gettext-0.10.38.
 
148
        - fix: sanity check for header size added in headerCopyLoad() (#46469).
 
149
        - fix: redundant entries in file manifests handled correctly (#46914).
 
150
        - map uid/gid from metadata into payload headers.
 
151
        - add removetid to header during --repackage.
 
152
        - expose rpmShowProgress() and rpmVerifyDigest() in rpmcli.h.
 
153
        - portability: avoid st_mtime, gendiff uses basename, etc (#47497).
 
154
        - glibc-2.0.x has not __va_copy().
 
155
        - popthelp.c: don't use stpcpy to avoid portability grief (#47500).
 
156
        - permit alias/exec description/arg text to be set from popt config.
 
157
        - python: rhnLoad/rhnUnload to check header digest.
 
158
        - package version now configureable, default v3.
 
159
        - rename rpm libraries to have version with libtool -release.
 
160
        - fix: -i CLI context broken Yet Again.
 
161
        - unlink all __db.nnn files before 1st db open.
 
162
        - python bindings should not segfault when fed bad data.
 
163
        - fix: adjust arg count for --POPTdesc/--POPTargs deletion.
 
164
        - add linux per-platform macro %_smp_mflags <sopwith@redhat.com>.
 
165
        - document more popt aliases for --help usage.
 
166
        - remove --tarbuild from man page(s), use -t[abpcils] instead (#48666).
 
167
        - fix: scope multi-mode options like --nodeps correctly (#48825).
 
168
        - isolate cdb access configuration (experimental, use at your own risk).
 
169
        - fix: hard fail on locked dbopen if CDB locking not in use.
 
170
        - fix: dbconfig with mp_mmapsize=16Mb/mp_size=1Mb for
 
171
          "everything ENOSPC" failure check.
 
172
        - fix: don't total hard linked file size multiple times (#46286).
 
173
        - add %dev(type,major,minor) directive to permit non-root dev build.
 
174
        - fix: _smp_flags macro broken.
 
175
        - python: bind rhnUnload differently.
 
176
        - fix: rescusitate --querytags.
 
177
        - fix: short aliases broken (#49213).
 
178
        - python: "seal" immutable region for legacy headers in rhnUnload() .
 
179
        - python: add poptmodule.so bindings.
 
180
        - fix: %dev(...) needs to map rdev and mtime from metadata.
 
181
        - resurrect --specedit for i18n.
 
182
        - fix: 4 memory leaks eliminated.
 
183
        - fix: yet another segfault from bad metadata prevented.
 
184
        - add sha1 test vectors, verify on ix86/alpha/sparc.
 
185
        - add (but disable for now) rpm-perl subpackage from Perl-RPM.
 
186
        - python: parameterize with PYVER to handle 1.5 and/or 2.1 builds.
 
187
        - add build dependency on zlib-devel (#49575).
 
188
        - enable rpm-perl subpackage.
 
189
        - add pmac/ppciseries/ppcpseries varieties to ppc arch family.
 
190
        - include tdigest.c tkey.c and trpmio.c to "make dist".
 
191
        - re-enable dependency resolution source from package NVR.
 
192
        - rename pmac to ppcmac.
 
193
        - ia64: revert -O0 compilation.
 
194
        - upgrade to db-3.3.11 final.
 
195
        - fix: don't segfault when presented with rpm-2.4.10 packaging (#49688).
 
196
        - fix: --noscripts is another multimode option.
 
197
        - add tmpdir to configure db3 tmpdir into chroot tree.
 
198
        - permit lazy db opens within chroot.
 
199
        - fix: diddle dbenv path to accomodate backing store reopen in chroot.
 
200
        - add support for mips (#49283).
 
201
        - add __as, _build_arch, and __cxx macros (#36662, #36663, #49280).
 
202
        - detailed build package error messages.
 
203
        - fix: i18n tags not terminated correctly with NUL (#50304).
 
204
        - add explicit casts to work around a s390 compiler problem.
 
205
        - fix: autoconf glob tests (#50845).
 
206
        - portability: some compilers squawk at return ((void) foo()) (#50419).
 
207
        - remove fdFileno() from librpmio, use inline version instead (#50420).
 
208
        - fix: linux find-requires needs quotes around [:blank:].
 
209
        - remove /var/lib/rpm/__db* cache files if %__dbi_cdb is not configured.
 
210
        - python: add hiesenbug patch.
 
211
        - add legacy (compile only) wrappers for fdFileno et al.
 
212
        - add -D_REENTRANT (note rpmlib is still not thread safe).
 
213
        - fix: segfault on headerFree given malicious data.
 
214
        - fix: don't verify hash page nelem.
 
215
        - better error messages for verification failures.
 
216
        - include directory /usr/lib/rpm in rpm package.
 
217
        - always use dl size in regionSwab() return.
 
218
        - ppc: revert ppcmac to ppc.
 
219
        - ppc: autoconf test for va_copy.
 
220
        - python: add exception to detect bad data in hdrUnload.
 
221
        - change dir creation message from warning to debug for now.
 
222
        - verify perms (but not mode) on %ghost files.
 
223
        - headers without RPMTAG_NAME are skipped when retrieved.
 
224
        - within a region, entries sort by address; added drips sort by tag.
 
225
        - fix: error message on failed package installs resurrected.
 
226
        - python: memory leaks in headerLoad/headerunload bindings.
 
227
        - python: retrofit sha1 digest using RPMTAG_SHA1RHN.
 
228
        - python: change rhnUnload bindings.
 
229
        - python: teach rhnLoad about RPMTAG_SHA1RHN as well.
 
230
        - fix: Provides: /path did not work with added packages (#52183).
 
231
        - fix: progress bar scaling did not include source rpm count.
 
232
        - fix: hash page nelem failure to verify.
 
233
        - fix: initialize "verify" transaction stepName with -vv (#53582).
 
234
        - fix: ftp remote globs broken (#46892).
 
235
        - popt: clarify X consortium license in popt.3 man page.
 
236
        - close/discard Depends index after rpmdepCheck() use.
 
237
        - lclint-3.0.0.15 fiddles.
 
238
        - fix: harmless typo in db3 chroot hack.
 
239
        - fix: big-endian's with sizeof(time_t) != sizeof(int_32) mtime broken.
 
240
        - fix: add Korean message catalogs (#54473).
 
241
        - add RPHNPLATFORM and PLATFORM tags.
 
242
        - rpm-4.0.3 released.
 
243
 
 
244
4.0 -> 4.0.2
 
245
        - fix: avoid calling getpass twice as side effect of xstrdup macro
 
246
          (katzj@linuxpower.org) (#17672).
 
247
        - order packages using tsort, clipping Requires:'s in dependency loops.
 
248
        - handle possible db3 dependency on -lpthread more gracefully.
 
249
        - bump popt version to 1.6.1.
 
250
        - fix: more (possible) xstrdup side effects.
 
251
        - fix: rpm2cpio error check wrong on non-libio platforms.
 
252
        - fix: runTriggers was not adding countCorrection.
 
253
        - add rpmGetRpmlibProvides() to retrieve rpmlib(...) provides
 
254
          "Pawel A. Gajda" <mis@k2.net.pl>.
 
255
        - syntax to specify source of Requires: (PreReq: now legacy).
 
256
        - rip out rpm{get,put}text, use getpo.sh and specspo instead.
 
257
        - fine-grained Requires, remove install PreReq's from Requires db.
 
258
        - fix: duplicate headerFree() on instalBinaryPackage() error return.
 
259
        - fix: work around for (mis-compilation?!) segfaults on signature paths.
 
260
        - fix: segfault on exit of "rpm -qp --qf '%{#fsnames}' pkg" (#20595).
 
261
        - hpux w/o -D_OPEN_SOURCE has not h_errno.
 
262
        - verify MD5 sums of payload files when unpacking archive.
 
263
        - hide libio lossage in prototype, not API.
 
264
        - add support for SHA1 as well as MD5 message digests.
 
265
        - don't verify src rpm MD5 sums (yet).
 
266
        - md5 sums are little endian (no swap) so big endian needs the swap.
 
267
        - add doxygen and lclint annotations most everywhere.
 
268
        - consistent return for all signature verification.
 
269
        - use enums for almost all rpmlib #define's.
 
270
        - API: change rpmProblem typedef to pass by reference, not value.
 
271
        - unify rpmError and rpmMessge interfaces through rpmlog.
 
272
        - collect and display rpm build error messages at end of build.
 
273
        - don't trim leading ./ in rpmCleanPath() (#14961).
 
274
        - detect (still need to test) rdonly linux file systems.
 
275
        - check available inodes as well as blocks on mounted file systems.
 
276
        - pass rpmTransactionSet, not elements, to installBinaryPackage et al.
 
277
        - add cscope/ctags (Rodrigo Barbosa<rodrigob@conectiva.com.br>).
 
278
        - remove getMacroBody() from rpmio API.
 
279
        - add support for unzip <rodrigob@conectiva.com.br>
 
280
        - add brp-strip-shared script <rodrigob@conectiva.com.br>.
 
281
        - better item/task progress bars <rodrigob@conectiva.com.br>.
 
282
        - load headers as single contiguous region.
 
283
        - add region marker as RPM_BIN_TYPE in packages and database.
 
284
        - fix: don't headerCopy() relocateable packages if not relocating.
 
285
        - merge signatures into header after reading from package.
 
286
        - RPM_BIN_TYPE malloc'ed when retrieved through headerGetEntry().
 
287
        - add headerFreeData() to free any data malloc'ed during retrieval.
 
288
        - preserve exact image of original header when installing/upgrading.
 
289
        - add missing headerFree for legacy signature header.
 
290
        - fix: removed packages leaked DIRINDEXES tag data.
 
291
        - reload tags added during install when loading header from rpmdb.
 
292
        - avoid brp-compress hang with both compressed/uncompressed man pages.
 
293
        - improved find-{requires,provides} for aix4/hpux/irix6/osf.
 
294
          Tim Mooney<mooney@dogbert.cc.ndsu.NoDak.edu>
 
295
        - portability: remove use of GNU make subst in lib/Makefile (Joe Orton).
 
296
        - python: bind package removal (#21274).
 
297
        - autoconfigure building python bindings.
 
298
        - autoconfigure generating rpm API doco.
 
299
        - fix: don't fdFree in rpmVerifyScript, rpmtransFree does already.
 
300
        - use package version 3 if --nodirtokens is specified.
 
301
        - add package names to problem sets early, don't save removed header.
 
302
        - make sure that replaced tags in region are counted in headerSizeof().
 
303
        - support for dmalloc debugging.
 
304
        - filter region tags in headerNextIterator, exit throut headerReload.
 
305
        - add rpmtransGetKeys() to retrieve transaction keys in tsort'ed order.
 
306
        - python bindings for rpmtransGetKeys().
 
307
        - fix: include alignment in count when swabbing header region.
 
308
        - handle added dirtoken tags (mostly) correctly with header regions.
 
309
        - add FHS doc/man/info dirs, diddle autoconf goo.
 
310
        - fix: headerUnload handles headers w/o regions correctly on rebuilddb.
 
311
        - resurrect rpmrc Provides: as well as implicit dependency on packge
 
312
          info.
 
313
        - change dependency loop message to RPMMESS_WARNING to use stderr, not
 
314
          stdout.
 
315
        - fix: (transaction.c) assume file state normal if tag is missing.
 
316
        - fix: failed signature read headerFree segfault.
 
317
        - fix: revert ALPHA_LOSSAGE, breaks 6.2/i386.
 
318
        - fix: synthesized callbacks for removed packages have not a pkgkey.
 
319
        - identify install scriptlet failures with the name of the scriptlet.
 
320
        - handle install chroot's identically throughout the install process.
 
321
        - add rpmlib(HeaderLoadSortsTags) for tracking header regions
 
322
          "just in case".
 
323
        - create _tmppath on the fly if not present.
 
324
        - remove /etc/rpm/macros.db1 configuration file if db3 rebuilt.
 
325
        - remove overly verbose dbiOpen() error messages, no longer needed.
 
326
        - whiteout mozilla loop for 7.1.
 
327
        - immutable headers, once installed by rpm3, need to lose immutablity.
 
328
        - fix: removed headers from db need a headerCopy().
 
329
        - send query/verify output through rpmlog().
 
330
        - resurrect rpmErrorSetCallback() and rpmErrorString().
 
331
        - use malloc'ed buffer for large queries.
 
332
        - fix: avoid FAT and other brain-dead file systems that have not inodes.
 
333
        - fix: hack around alpha mis-compilation signature problems.
 
334
        - rpmmodule.c(handleDbResult): return empty list when nothing matches.
 
335
        - (non-linux): move stubs.c to rpmio (#21132).
 
336
        - (python): bind initdb (#20988).
 
337
        - (popt): fix float/double handling (#19701).
 
338
        - (popt): non-linux needs <float.h> (#22732).
 
339
        - (popt): add POPT_ARGFLAG_OPTIONAL for long options with optional arg.
 
340
        - (popt): diddle auto-help to include type of arg expected.
 
341
        - use popt autohelp for rpm helper binaries.
 
342
        - fix: avoid locale issues with strcasecmp/strncasecmp (#23199).
 
343
        - remove almost all explicit uses of stderr in rpmlib using rpmError().
 
344
        - fix: pass scriptlet args, as in %post -p "/sbin/ldconfig -n /lib".
 
345
          (Rodrigo Barbosa).
 
346
        - fix: 3 packages from Red Hat 5.2 had bogus %verifyscript tag.
 
347
        - tsorted packages processed in successor count order.
 
348
        - fix: resurrect --excludepath (#19666).
 
349
        - fix: digests on input FD_t dinna work.
 
350
        - fix: remove rebuilddb debugging leakage.
 
351
        - successors from tsort are processed in presentation order.
 
352
        - fix: find-requires.perl needed update (#23450).
 
353
        - fix: don't hang on build error.
 
354
        - fix: remove "error: " prefix from signature verification message.
 
355
        - hack: permit installer to determine package ordering using 1000003 tag.
 
356
        - fix: extra newline in many error messages (#23947).
 
357
        - fix: rpm -Va with db1 needs per-iterator, not per-index, offset.
 
358
        - add install/remove transaction id tags.
 
359
        - tsort prefers presentation order.
 
360
        - 1st crack at Mandrake specific per-platform macros.
 
361
        - fix: insure that %lang scopes over hard links correctly.
 
362
        - fix: rpmCleanPath was nibbling at .. in macrofiles incorrectly.
 
363
        - fix: check waitpid return code.
 
364
        - fix: make a copy of retrieved header before loading.
 
365
        - fix: diddle exit code for attempted installs of non-packages (#26850).
 
366
        - python binding diddles to reduce installer memory footprint by
 
367
          delayed loading of file info.
 
368
        - fix: remove fixed size buffer on output path (#26987,#26332).
 
369
        - resurrect rpmErrorCode in the API for Perl-RPM.
 
370
        - fix: permit packages to differ by 0 or 32 bytes (#26373).
 
371
        - fix: permit HEADER_IMMUTABLE tag queries.
 
372
        - split db configuration into separate file.
 
373
        - portability changes from Joe Orton <jorton@redhat.com> et al.
 
374
        - (alpha): rip out ALPHA_LOSSAGE now that gcc-2.96-76 has fix (#28509).
 
375
        - (popt): use sprintf rather than snprintf for portability.
 
376
        - (sparc) disable MD5 sum checks during install.
 
377
        - (db1) plug largish memory leak in simulated interface for falloc.c.
 
378
        - remove mozilla dependency white out, no longer needed.
 
379
        - fix: adjust for libio breakage in Red Hat 5.x with glibc-2.0.7-29.4.
 
380
        - map i686-like (i.e. w/o CMOV) platforms to better alternatives.
 
381
 
 
382
3.0.6 -> 4.0
 
383
        - use DIRNAMES/BASENAMES/DIRINDICES not FILENAMES in packages and db.
 
384
        - API: change dbi to pass by reference, not value.
 
385
        - cram all of db1, db_185, and db2 interfaces into rpmlib.
 
386
        - convert db1 -> db2 on-disk format using --rebuilddb.
 
387
        - add db3 to the pile, isolate all with incremental link and vectors.
 
388
        - prefer db3 as default.
 
389
        - permit db3 configuration using macros.
 
390
        - create dbi from template rather than passed args.
 
391
        - use hashed access for package headers.
 
392
        - db3: save join keys in endian neutral binary format.
 
393
        - treat legacy falloc.c as "special" db[01] index for package headers.
 
394
        - API: pass *SearchIndex() length of key (0 will use strlen(key)).
 
395
        - API: remove rpmdb{First,Next}RecNum routines.
 
396
        - add explcit "Provides: name = [epoch:]version-release" to headers.
 
397
        - fix: cpio.c: pre-, not post-, decrement the link count.
 
398
          (from Fabrice Bellet <Fabrice.Bellet@creatis.insa-lyon.fr>)
 
399
        - make db indices as lightweight as possible, with per-dbi config.
 
400
        - db1.c will never be needed, eliminate.
 
401
        - API: merge rebuilddb.c into rpmdb.c.
 
402
        - API: replace rpmdbUpdateRecord with rpmdbSetIteratorModified.
 
403
        - API: replace rpmdbFindByLabel with RPMDBI_LABEL iteration.
 
404
        - API: replace rpmdbGetRecord with iterators.
 
405
        - API: replace findMatches with iterators.
 
406
        - Filter DB_INCOMPLETE on db->sync, it's usually harmless.
 
407
        - Add per-transaction cache of resolved dependencies (aka Depends).
 
408
        - Do lazy dbi{Open,Close} throughout.
 
409
        - Attempt fine grained dbi cursors throughout.
 
410
        - fix: free iterator *after* loop, not during.
 
411
        - fix: Depends needed keylen in dbiPut, rpmdbFreeIterator after use.
 
412
        - Rename db0.c to db1.c, resurrect db2.c (from db3.c).
 
413
        - simplify --last popt alias, date like -qi (bjerrick@easystreet.com).
 
414
        - fix: alloca'd memory used outside of scope (alpha segfault).
 
415
        - fix: define/eval options assumed sizeof(int) == sizeof(void *).
 
416
        - fix: sparc64 per-platform directory shouldn't be sparc64linux.
 
417
        - fix: (segfault) verify needs rpmdb while query does not.
 
418
        - add calculated nlink field to -qlv output (like ls -al).
 
419
        - detects and builds properly against the new fopencookie API in
 
420
          glibc 2.2.
 
421
        - change popt exec alias in oreder to exec rpm children.
 
422
        - split rpm into 5 pieces along major mode fault lines with popt glue.
 
423
        - turn on new, more complete version of %%configure.
 
424
        - add %%makeinstall analogue of new %%configure for autoconf packages.
 
425
        - mark packaging with version 4 to reflect filename/provide changes.
 
426
        - change next version from 3.1 to 4.0 to reflect package format change.
 
427
        - change %configure, add %makeinstall macros to handle FHS changes.
 
428
        - add optflags for i486 and i586.
 
429
        - fix: segfault with legacy packages missing RPMTAG_FILEINODES.
 
430
        - require db3 in default configuration.
 
431
        - create rpmio directory for librpmio.
 
432
        - make librpmio standalone.
 
433
        - fix: avoid clobbering db cursor in removeBinaryPackage.
 
434
        - expose cursors in dbi interfaces, remove internal cursors.
 
435
        - remove incremental link.
 
436
        - portability: sparc-sun-solaris2.5.1.
 
437
        - fix: don't count removed files if removed packages is empty set.
 
438
        - fix: permit '\0' as special case key (e.g. "/" in Basenames).
 
439
        - require --rebuilddb to convert db1 -> db3, better messages.
 
440
        - fix: open all db indices before performing chroot.
 
441
        - fix: typo in brp-compress caused i18n man pages not to compress.
 
442
        - API: uncouple fadio from rest of rpmio.
 
443
        - API: externalize legacy fdOpen interface for rpmfind et al.
 
444
        - put version on rpmpopt filename to avoid legacy filename collision.
 
445
        - change optflags for i386.
 
446
        - multilib patch, take 1.
 
447
        - add pre-transaction syscall's to handle /etc/init.d change.
 
448
        - don't bother saving '/' as fingerprint subdir.
 
449
        - prefix payload paths with "./", otherwise "/" can't be represented.
 
450
        - fix: compressFilelist broke when fed '/'.
 
451
        - fix: typo in --last popt alias (#12690).
 
452
        - fix: clean file paths before performing -qf (#12493).
 
453
        - remove build mode help from rpm.c, use rpmb instead.
 
454
        - fix: set multilibno on sparc per-platform config.
 
455
        - fix: legacy requires './' payload prefix to be omitted for rpm itself.
 
456
        - fix: remove verbose database +++/--- messages to conform to doco.
 
457
        - add S_ISLNK pre-transaction syscall test.
 
458
        - fix: initialize pretransaction argv (segfault).
 
459
        - fix: check rpmlib features w/o database (and check earlier as well).
 
460
        - rip out pre-transaction syscalls, more design is needed.
 
461
        - remove (dead) dependency checks on implicitly provided package names.
 
462
        - remove (dead) rpmdb API code in python bindings.
 
463
        - fix: make set of replaced file headers unique.
 
464
        - fix: don't attempt dbiOpen with anything but requested dbN.
 
465
        - create rpmbuild/rpmquery/rpmverify/rpmsign symlinks.
 
466
        - fix: look for any/all dbapi when rebuilding.
 
467
        - link rpm2cpio dynamically since cpio is linked dynamically.
 
468
        - fix: uniqify dependency problems when printing (#14034).
 
469
        - fix: segfault on erase if filestates is missing in header (#14679).
 
470
        - fix: popt POST callbacks typo.
 
471
        - fix: -Va broken, make db cursors per-iterator, not per-dbi.
 
472
        - fix: segfault when globbing on "" (#15593).
 
473
        - fix: rebuild db1 -> db3 ate 1st header (#16263).
 
474
        - translate rpm.8 man page (Peter Ivanyi <ivanyi@internet.sk>).
 
475
 
 
476
3.0.6 -> 3.0.7
 
477
 
 
478
3.0.5 -> 3.0.6
 
479
        - python bindings to query and verify signatures.
 
480
        - add callbacks on package erasure.
 
481
        - fix: preserve cpio errno when using Fclose with libio.
 
482
        - fix: initialize sigs everywhere in python header object.
 
483
        - popt: support for float/double args.
 
484
        - fix: honor --test when doing --freshen.
 
485
        - add alpha* architectures.
 
486
 
 
487
3.0.4 -> 3.0.5
 
488
        - configure.in fiddles for BSD systems (Patrick Schoo).
 
489
        - solaris2.6: avoid bsearch with empty dir list (Ric Klaren - klaren@cs.utwente.nl)
 
490
        - include RPM-GPG-KEY in file manifest.
 
491
        - Add ia64 and sparc64 changes.
 
492
        - rpm.spec: add per-platform sub-directories.
 
493
        - FreeBSD fixes (bero@redhat.com).
 
494
        - handle version 4 packaging as input.
 
495
        - builds against bzip2 1.0
 
496
        - fix: resurrect symlink unique'ifying property of finger prints.
 
497
        - fix: broken glob test with empty build directory (Geoff Keating).
 
498
        - fix: create per-platform directories correctly.
 
499
        - update brp-* scripts from rpm-4.0, enable in per-platform config.
 
500
        - alpha: add -mieee to default optflags.
 
501
        - add RPMTAG_OPTFLAGS, configured optflags when package was built.
 
502
        - add RPMTAG_DISTURL for rpmfind-like tools (content unknown yet).
 
503
        - teach brp-compress about /usr/info and /usr/share/info as well.
 
504
        - update macros.in from rpm-4.0 (w/o dbi configuration).
 
505
        - fix: don't expand macros in false branch of %if (kasal@suse.cz).
 
506
        - fix: macro expansion problem and clean up (#11484) (kasal@suse.cz).
 
507
        - uname on i370 has s390 as arch (#11456).
 
508
        - python: initdb binding (Dan Burcaw <dburcaw@terraplex.com>).
 
509
        - internalize --freshen (Gordon Messmer <yinyang@eburg.com>).
 
510
        - support for separate source/binary compression policy.
 
511
        - support for bzip payloads.
 
512
        - fix: payload compression tag not nul terminated.
 
513
        - identify package when install scriptlet fails (#12448).
 
514
        - remove (unused) RPMTAG_CAPABILITY.
 
515
        - remove (legacy) use of RPMTAG_{OBSOLETES,PROVIDES} internally.
 
516
        - remove (legacy) support for version 1 packaging.
 
517
        - remove (legacy) support for converting gdbm databases.
 
518
        - eliminate unused headerGz{Read,Write}.
 
519
        - support for rpmlib(...) internal feature dependencies.
 
520
        - display rpmlib provides when invoked with --showrc.
 
521
        - fix: compare versions if doing --freshen.
 
522
        - disable rpmlib(VersionedDependencies) by defining _noVersionedDependencies.
 
523
 
 
524
3.0.3 -> 3.0.4
 
525
        - use compressed filenames on install side.
 
526
        - start unifying FD types, CFD_t now gone.
 
527
        - check for memory leaks (almost all leaks are plugged).
 
528
        - fix: resurrect multiple target platform builds.
 
529
        - freshen.sh: detect when all packages are up to date (Ian Macdonald).
 
530
        - fix: typo in error message (#6858).
 
531
        - add/update dependency scripts (Ken Estes).
 
532
        - use directory tokens internally to reduce memory usage.
 
533
        - permit --whatprovides to lookup file dependencies.
 
534
        - fail to package if absolute symlink points within build root.
 
535
        - initial version of check-prereqs.
 
536
        - expose enough of legacy fdio interface to compile rpmfind/rpm2html.
 
537
        - fix: Fopen should use 0666 as default (umask will be applied later).
 
538
        - fix: default for rd_timeoutsecs is 1 sec (avoid ufdio assertion).
 
539
        - fix: new FILENAMES tags require package index, not pointer in lookups.
 
540
        - rename new FILENAMES tags to BASENAMES/DIRNAMES/DIRINDEXES.
 
541
        - fix: don't look at password when searching urlCache.
 
542
        - add contentLength sanity check on rpmdb headerWrite.
 
543
        - fix: fprint abort on stat("/", ...) in empty chroots.
 
544
        - perform glob on remote ftp query args.
 
545
        - fix: ftpAbort must close the data channel to read abort status.
 
546
        - perform glob on remote ftp install args.
 
547
        - fix: reload macros from cmd line when re-reading config files.
 
548
        - fix: compressFileList was over-generating dirNames.
 
549
        - fix: alAddPackage sorted dirNames too soon, destroying dirMapping.
 
550
        - expose enough of legacy fdio interface to compile gnorpm.
 
551
        - fix: missing strdup when overriding buildroot from command line
 
552
          argument (#1026,#5006).
 
553
        - diddle some names to keep my C++ brethern happy (i.e. kpackage port).
 
554
        - fix: add ufdSeek.
 
555
        - build popt (with libpopt.so*) as a sub-package of rpm.
 
556
        - split python bindings into a separate sub-package of rpm.
 
557
        - add ja translation and man pages (Kanda Mitsuru kanda@nn.iij4u.or.jp).
 
558
        - fix: fp.subDir was incorrectly set to NULL in sparse chroot's.
 
559
        - fix: manageFile needs to and with O_WRONLY(=1), not O_RDONLY(=0).
 
560
        - fix: resurrect failed glob error message during build.
 
561
        - add several BuildRoot FTW policies.
 
562
        - add manpage for gendiff (pbrown@redhat.com).
 
563
        - updated sv.po (goeran@uddeborg.pp.se) (#8349).
 
564
        - configurable PATH for install %pre/%post et al scriptlets.
 
565
        - use only %_install_langs, not LINGUAS/LANG when deciding to install.
 
566
        - configurable compression type/level for package payloads.
 
567
        - default value for %_install_langs is all.
 
568
        - fix: resurrect relative path's in fprint lookup queries.
 
569
        - extract spec files from bzip'ped tarballs too on tar builds.
 
570
        - add %_rebuilddbpath macro to permit rebuilding db in new location.
 
571
        - updated perl scripts (Ken Estes).
 
572
        - fix: on --rebuilddb, make sure new/old paths are not the same (#8752).
 
573
        - fix: on --erase, segfault caused by "" prefix.
 
574
        - explicitly expand file lists in writeRPM for rpmputtext.
 
575
        - {Free,Open}BSD find-{provides,requires} (suzukis@file.phys.tohoku.ac.jp).
 
576
        - new rpm-build package to isolate rpm dependencies on perl/bash2.
 
577
        - always remove duplicate identical package entries on --rebuilddb.
 
578
        - add scripts for autogenerating CPAN dependencies.
 
579
        - add sl.po from Primoz Peterlin <peterlin@biofiz.mf.uni-lj.si>.
 
580
        - updated sv.po from <goeran@uddeborg.pp.se>.
 
581
        - macro expansion (and absolute path) in %files -f arg (#9508,#9091).
 
582
        - permit cli setting of build root policies.
 
583
        - fix: filter excluded paths before adding install prefixes (#8709).
 
584
        - add i18n lookaside to PO catalogue(s) for i18n strings.
 
585
        - try for /etc/rpm/macros.specspo so that specspo autoconfigures rpm.
 
586
        - per-platform configuration factored into /usr/lib/rpm subdir.
 
587
        - sparc-sun-solaris2.6 portability check.
 
588
        - simpler hpux.prov script (Tim Mooney).
 
589
        - portability: skip bzip2 if not available.
 
590
        - portability: skip gzseek if not available (zlib-1.0.4).
 
591
        - portability: skip personality if not available (linux).
 
592
        - portability: always include arpa/inet.h (HP-UX).
 
593
        - portability: don't use id -u (Brandon Allbery).
 
594
        - portability: don't chown/chgrp -h w/o lchown.
 
595
        - portability: splats in rpm.spec to find /usr/{share,lib}/locale/* .
 
596
        - fix: better filter in linux.req to avoid ARM specific objdump output.
 
597
        - fix: use glibc 2.1 glob/fnmatch everywhere.
 
598
        - fix: noLibio = 0 on Red Hat 4.x and 5.x.
 
599
        - fix: typo in autodeps/linux.req.
 
600
        - configure noarch compatibility in rpmrc for ia64.
 
601
 
 
602
3.0.2 -> 3.0.3
 
603
        - add --eval to find result of macro expansion.
 
604
        - add configure scaffolding to support rpm-4.0 packages.
 
605
        - include shared libs in rpm-devel (no versioning yet).
 
606
        - add epoch (as [0-9]*:version-release) to install dependency parse.
 
607
        - move install/erase major modes into rpmlib.
 
608
        - move checksig/resign major modes into rpmlib.
 
609
        - add python bindings to rpm-devel (linux only).
 
610
        - make query (rpm -qvl) behave like (POSIX?) ls for older files (#4050).
 
611
        - fix: %if parsing skipped 3 chars too many.
 
612
        - permit multiline macro expansions with comments and %if.
 
613
        - add pl translation and man pages (PLD team - from Tomasz Kloczko).
 
614
        - fix: incomplete cleanup if --rebuilddb fails (#4115).
 
615
        - add versions to provides.
 
616
        - fix: sanity test on specfile fails when encountering i18n chars.
 
617
        - print all dependencies for each package at end of build.
 
618
        - the death of RPMSENSE_SERIAL, use [epoch:]version[-release] instead.
 
619
        - add _mandir/_infodir macro expansions to docdirs (Tomasz Kloczko).
 
620
        - add post install configurable dependency checking.
 
621
        - fix: segfault on --rebuild (#4185).
 
622
        - macro fixes (Benedict Lofstedt, #4220):
 
623
           expand %# just like %{#} (and with same value as shell analogues).
 
624
           macro defaults for *, 0, and # if no args specified.
 
625
           getopt on non-linux requires optind to be saved/restored.
 
626
        - fix: don't remove file until last occurence in transaction (#4291).
 
627
        - resuscitate net shared paths (#4330).
 
628
        - fix: macro table cannot contain NULL pointers (#4263).
 
629
        - fix: last char in rpmrc w/o terminating newline lost (#4361).
 
630
        - prepare for handling \r in macro exapnsions.
 
631
        - fix: n>1 occurrences of %config(noreplace) should not FA_CREATE (#4355).
 
632
        - fix: use pgp5 rather than pgp-2.6.3 if both are in %_pgpbin (#4564).
 
633
        - match "de" when locale is specified as "de_DE.ISO-8859-1@Munich".
 
634
        - add versions to obsoletes.
 
635
        - add %_install_langs to configure languages to be installed.
 
636
        - add LC_ALL/LC_MESSAGES to query locale search.
 
637
        - fix: segfault with "--sign" w/o supplying files (#4651).
 
638
        - add headerWrite return code and check for errors.
 
639
        - update python bindings from anaconda.
 
640
        - add versions to prereq.
 
641
        - add syntax sensitive implict prereq on rpm-3.0.3.
 
642
        - fix: don't successfully match with strncasecmp("sparc", "sparc64", 5)
 
643
        - add sparcv9 architecture.
 
644
        - add --freshen to usage message (#4823).
 
645
        - suggested changes to docs from Ken Estes (#4451).
 
646
        - link libbz2.a statically to avoid rpm->bzip2 dependence for now.
 
647
        - Tru64: avoid find-requires variable size limit (Tim Mooney).
 
648
        - Solaris: use getpassphrase rather than getpass if available.
 
649
        - pgp and pgp5 have compatible RSA signature (#4780).
 
650
        - fix: avoid db problems with self-obsoleting packages on install.
 
651
        - glibc2: always enable dynamic mtrace if available.
 
652
        - fix: versioned provides devolved to existence test with conflicts.
 
653
        - fix: with unspecified epochs, skip dependency epoch compare.
 
654
        - python: shared module linked correctly.
 
655
        - do versioned provides/conflicts resolution correctly.
 
656
        - rpmpopt: display versioned provides/obsoletes.
 
657
        - revert to shared libbz2.so now that bzip2 is in base install.
 
658
        - fix: command line install had header memory leak.
 
659
        - check for NULL on all memory allocations.
 
660
        - free rpmrc mallocs on exit.
 
661
        - glibc2: permit run time leak detection.
 
662
        - fix: removed files fingerprint memory leak.
 
663
        - fix: resurrect allfiles flag from rpm-2.5.x.
 
664
        - fix: version compares compatible with epoch-less requires/conflicts.
 
665
        - fix: rpm-2.5.1 had file list w/o leading / fix.
 
666
        - portatbility fiddles (solaris).
 
667
        - create binary rpm directory (e.g. .../%{_target_cpu}) on the fly.
 
668
        - updated pl/rpm.8 (PLD team).
 
669
        - new find req/prov scripts for non-linux platforms (Tim Mooney).
 
670
        - fix: non-GNU globs burp on repeated '/' in patterns.
 
671
        - dumb cpp's want white space around lclint annotations (Tim Mooney).
 
672
        - aix: aix.req broken by cut-and-paste (Tim Mooney).
 
673
 
 
674
3.0.1 -> 3.0.2
 
675
        - eliminate armv4 entries from rpmrc (Andrew E. Mileski).
 
676
        - permit multiple "Provides: " lines in rpmrc (#2999).
 
677
        - add BuildConflicts: and BuildRequires: in spec file and src rpm.
 
678
        - fix: bigendian's with longlong file sizes (e.g. IRIX) dinna work.
 
679
        - move printDep* routines into rpmlib for gnorpm et al.
 
680
        - updated ru translation (Sergey Kubushin).
 
681
        - add vpkg-provides.sh (Tim Mooney).
 
682
        - don't clobber LDFLAGS in top-level Makefile (Tim Mooney).
 
683
        - fix: build root from cmd line did not set macro %buildroot (#1026).
 
684
        - fix: resurrect "rpm -Va --nofiles" (verify dependencies only) (#3111).
 
685
        - rpm-devel should require popt (#3125).
 
686
        - don't spin while waiting for delayed requires/provides input (#3289).
 
687
        - common parse for all dependency token syntax.
 
688
        - eliminate find-requirements on libNoVersion (Red Hat linux only).
 
689
        - add new-fangled requires on "libc.so.6(GLIBC_2.1)" (sparc-linux only).
 
690
        - MiNT port (Guido Flohr <gufl0000@stud.uni-sb.de>).
 
691
        - fix: --rebuilddb with --root dinna remove directory (Michael Andres).
 
692
        - fix: false fingerprint stat cache hit -- "the tetex problem" (#2727).
 
693
        - fix: bsearch needs macro table sorted after undefine. (#3713).
 
694
        - fix: --checksig segfault with odd pgp output (e.g. w/o ~/.pgp) (#3720)
 
695
        - avoid numeric overflow in version comparison (Thayne Harbaugh<tharbaug@liberate.com>).
 
696
        - move url.c and ftp.c to rpmlib right next to query.
 
697
        - 12 more dead strtoks.
 
698
        - changelog stamp broken w/ big endian 64 bit time_t (Stephane Erania).
 
699
        - tru64: use /bin/sh not /usr/bin/ksh in find-requires.
 
700
        - 32Mb (~16x largest known) sanity check on header size.
 
701
 
 
702
3.0 -> 3.0.1
 
703
        - fix: %verifyscript resurrected (Shing-Gene Yung).
 
704
        - fix: % before non-alphabetic non-macro special now passed unscathed.
 
705
        - fix: noarch header gets initialized differently.
 
706
        - fix: $2 to triggerpostun scripts was wrong
 
707
        - fix: --querybypkg in man page should be --filesbypkg
 
708
        - fix: optflags not implicitly set to canonical arch value.
 
709
        - fix: prefer pgp2.6.3 over pgp5 if both are installed.
 
710
        - make sure that rpm-the-package auto-requires glibc.
 
711
        - add rpmputtext/rpmgettext to rpm package.
 
712
        - fix: non-apache servers need "GET ... HTTP/1.0" by the book.
 
713
        - fix: %doc wrongly inherits lang from last entry in %files.
 
714
        - resurrect toplevel tar target.
 
715
        - spec file removal separate from source removal (Shing-Gene Yung).
 
716
        - add rpm prefix to MD5 routines to avoid name conflict on solaris.
 
717
        - fix: resurrect -Vp, -Vf and -Vg functionality.
 
718
        - colesce query and verify modes.
 
719
        - better cpio error message if package contains missing hard links.
 
720
        - fix: shared file not skipped when removed.
 
721
        - fix: conversion script left off leading underscores.
 
722
        - another strtok bites the dust.
 
723
        - fix: prevent return code wrap during packagage checking/resigning.
 
724
        - permit multiple %lang(xx) markers on elements in %files.
 
725
        - permit %lang(xx,yy,zz) constructs --  2 more dead strtoks.
 
726
        - fix: --prefix should work properly during package installs.
 
727
        - add librpmbuild.a to the file list.
 
728
 
 
729
2.94 -> 2.95
 
730
        - fix: last update transaction set segfault bug in installer.
 
731
        - improved checks for statfs (Tim Mooney).
 
732
        - remove inconsistent use of __P((...)) throughout.
 
733
        - non-static inline functions caused IRIX cc pain.
 
734
        - CPIOERR_CHECK_ERRNO masking caused AIX cc warnings.
 
735
        - solaris 2.6+ needs statvfs.
 
736
        - check build prerequisites before building from specfile.
 
737
        - convert per-system configuration in /etc/rpmrc to macros.
 
738
 
 
739
2.93 -> 2.94
 
740
        - fix: segfault while parsing target string.
 
741
        - fix: os was not initialized with "--target i586".
 
742
        - fix: --prefix resurrected.
 
743
        - non-linux, non-gcc portability fixes (Tim Mooney).
 
744
        - default to static libs only (remove implied support for shared libs).
 
745
 
 
746
2.92 -> 2.93
 
747
        - eliminate old rpmrc configuration syntax.
 
748
        - pgp5 support (Carlo Wood <carlo@runaway.xs4all.nl>)
 
749
        - fix: segfault from double close on ftpGetFileDesc->ftpAbort path.
 
750
        - fix: don't add header if signature generation failed (Carlo Wood).
 
751
        - more DU 4.0D fiddles (Shing-Gene Yung).
 
752
        - fix: segfault from unknown uid/gid -- use builder's uid/gid instead.
 
753
        - autoReq/autoProv now per-package.
 
754
        - fix: avoid segfault using --prefix until ewt fixes.
 
755
        - add --define "%foo %bar" option.
 
756
        - dump macros to same fd as --showrc uses.
 
757
        - add %GNUconfigure for full-blown package regeneration.
 
758
        - fix: RPM_ARCH/RPM_OS had wrong values.
 
759
        - fix: create ppc directories correctly.
 
760
        - (re-)enable fixowner/fixgroup macros.
 
761
        - fix: specfile BuildRoot was masking rpmrc macro.
 
762
        - expand twiddles in macrofiles list.
 
763
        - add explicit macrofiles path to rpmrc.
 
764
        - add per-target macrofiles to search path.
 
765
        - take globalMacroContext out of macro api.
 
766
        - fix: flush all macros between builds.
 
767
        - add name/version/release macros during src.rpm install.
 
768
        - attempt mkdir sourcedir/specdir during src.rpm install.
 
769
 
 
770
2.91 -> 2.92
 
771
        - update with libtool-2.4f.
 
772
        - DU 4.0D fiddles (Shing-Gene Yung<shing@cz3.nus.edu.sg>)
 
773
        - change support@redhat.com to rpm-list@redhat.com.
 
774
        - fix: with --target=i686, pass macro %_arch=i386.
 
775
        - fix: rpm --target=arch ... resurrected.
 
776
        - fix: rpm -q --specfile --specedit now works even with BuildArch:.
 
777
        - fix: nested strtok's is a no-no.
 
778
        - added disk space checking
 
779
 
 
780
2.90 -> 2.91
 
781
        - fix: memory leaks in rpmRunTransactions plugged.
 
782
        - fix: build of packages w/o BuildRoot segfault.
 
783
        - permit substitution of I18N strings from PO meta-catalogues.
 
784
        - add callbacks for installer updates while doing URL xfers.
 
785
        - resurrect http queries/verifies.
 
786
        - create rpmbzio.c to avoid implicit dependence on libbz2 for installer.
 
787
        - spec files can provide /filename now
 
788
        - added rpmdbOpenForTraversal()
 
789
        - proxy http (Alex deVries).
 
790
        - add BuildPrereq: in spec file and src rpm.
 
791
        - added rpmtransSetScriptFd()
 
792
        - fixed config file problems during chroot upgrades
 
793
        - fixed %attr brokenness for directories
 
794
        - augment linux provides/requires for glibc 2.1 backward compatibility.
 
795
        - fixed --noscript, --notriggers, --excludedocs, and a bunch
 
796
          of other install/remove flags
 
797
        - fixed noreplace handling
 
798
        - complain about old packages being installed
 
799
 
 
800
2.5.x -> 2.90
 
801
        - added --excludepath
 
802
        - identify missing keys by type (Toshio Kuratomi).
 
803
        - package install/removal much smarter about symlinks
 
804
        - redid install/remove API to allow transaction semantics
 
805
        - support for GPG (Toshio Kuratomi <badger@prtr-13.ucsc.edu>)
 
806
        - file lookup finally sane wrt symbolic links :-)
 
807
        - fileindex format changed -- rebuilddb is necessary for rpm 2.90!!
 
808
        - --rebuilddb doesn't open old index files
 
809
        - permit http:// and file:// url's as well as ftp://.
 
810
        - change --rcfile to permit colon separated file list.
 
811
        - compile in defaults from rpmrc/macros.
 
812
        - finish hiding rpmdb index record data ("matches").
 
813
        - implement abstract fd type almost everywhere.
 
814
        - update and rename Czech (Pavel Makovec <pavelm@terminal.cz>)
 
815
        - augment --showrc with -v, only display set variables without -v.
 
816
        - add macrofiles variable, permit second entry to initMacros().
 
817
        - add config.h defines for paths to find-requires et. al.
 
818
        - add readRPM to libbuild, headerGetLangs to librpm.
 
819
        - permit rpm to be built in a sub-directory (--srcdir=DIR).
 
820
        - configure using automake.
 
821
        - arch/os (and platform) should be case insensitive everywhere forever.
 
822
        - attempt to deal rationally with os as "Linux" or "linux".
 
823
        - add generalized expression handler (Tom Dyas<tdyas@remus.rutgers.edu>)
 
824
        - use /usr/lib/rpm/mkinstalldirs if mkdir -p fails.
 
825
        - more portable dirent handling (Hermann Lauer).
 
826
        - add Slovak translation (Stanislav Meduna <stano@trillian.eunet.sk>)
 
827
        - gettextify rpmMessage/rpmError/fprintf messages.
 
828
        - update po files; add cz to catalogs.
 
829
        - cpio_gzip: dup the fd before doing gzdopen (Thanks Erik!)
 
830
        - add --noLang to skip non-default languages.
 
831
        - writeRPM can now copy cpio archive from fd.
 
832
        - preliminary macro environment as side effect of rpmrc parse.
 
833
        - macro handling in rpmlib -- rework include: tag with macro expansion.
 
834
        - first attempt at librpmbuild API.
 
835
        - fixed lib/rpmrc.c to accept include: tags (AdV)
 
836
        - fixed the CHANGES file to reflect that this is 2.9, not 3.0 (AdV)
 
837
        - aggregate system includes into system.h.
 
838
        - rearrange functions to minimize exported routines in librpmbuild API.
 
839
        - generalize cpio I/O to eliminate pipe to exec'd gzip on install.
 
840
        - add {init,add,expand}Macro args everywhere (new macro.c compatibility)
 
841
        - add new fully recursive macro.c
 
842
        - there must be a { between two % in a query format (unless %% is used)
 
843
 
 
844
2.5.6 -> 2.5.7:
 
845
        - permit 0x1b in specfile sanity check.
 
846
        - increase timeout in tread from 5 to 30 secs for slow links.
 
847
        - rename file before unlinking to avoid EBUSY failures.
 
848
        - headerGetEntry now returns count=0 if tag not found (Chris Blizzard).
 
849
        - resurrect osf1 as canonical os name (Time Mooney).
 
850
        - sub-packages should inheirit Prefixes tag (Ian Mortimer).
 
851
        - make '-' character illegal (again) in version/release.
 
852
        - use portable #!/bin/sh (Tim Mooney).
 
853
        - don't erase failing build script (Tim Mooney).
 
854
        - use portable mkinstalldirs (Tim Mooney).
 
855
        - irix6 autodeps were dup'd (Shing-Gene Yung <shing@cz3.nus.edu.sg>).
 
856
        - getservbyname needed ntohs().
 
857
        - propagate "const char *" into rpmlib prototypes.
 
858
        - use "original db-1.85" if available (Raw Hide glibc 2.1).
 
859
        - make sure files to sign exist before asking for the pass phrase
 
860
 
 
861
2.5.5 -> 2.5.6:
 
862
        - ultrapenguin 1.1.9 sparc64 changes.
 
863
        - attempt ftp ABOR on query/verify url's.
 
864
        - cache open ftp control descriptor with password.
 
865
        - verify needed same realpath semantics as query.
 
866
        - plug fd leak in urlGetFile().
 
867
        - translate cpio errors using cpioStrerror.
 
868
        - display "..?....." rather than "..5....." for unreadable files.
 
869
        - run time (rather than compile time) host endian check.
 
870
        - caldera patches (ray@Caldera.DE)
 
871
        - added ARM patches.
 
872
        - fix incorrect directory permissions using %attr/%defattr.
 
873
        - permit "rpm -q --specfile ... file.spec" queries.
 
874
        - strncasecmp on spec file separators (KDE has %Description).
 
875
        - remove redundant md5 computation on uninstall.
 
876
        - permit --rmsource --force even if sources/patches are missing.
 
877
        - don't compute md5sum on non-file %config objects. (from Jos Vos)
 
878
        - check arch only on RPMBUILD_{PREP,BUILD,INSTALL,PACKAGEBINARY}.
 
879
        - configure.in: set default value for RPM. (Tim Mooney)
 
880
        - add new Epoch: keyword just like Serial:.
 
881
        - update Russian translation w man pages.
 
882
        - solaris: don't attempt static link. (Tim Mooney)
 
883
        - fix: timeCheck in rpm.c should be unsigned long. (Tim Mooney)
 
884
        - osf: prov searches only shared libraries. (Tim Mooney)
 
885
        - solaris: set PATH in prov/req scripts. (Tim Mooney)
 
886
        - fix: ignore modes on symlinks. (Tim Mooney)
 
887
        - sub-packages inherit RPMTAG_EPOCH (just like RPMTAG_VERSION/RELEASE).
 
888
        - fix off-by-1 alloca that prevented relocating /.
 
889
        - there must be a { between two % in a query format (unless %% is
 
890
          used).
 
891
 
 
892
2.5.4 -> 2.5.5:
 
893
        - permit rpm to be built in a sub-directory (--srcdir=DIR).
 
894
        - return CPIO_BAD_HEADER instead of exiting. (Scott M. Stone)
 
895
        - untranslate "(none)" for auto relocating script wrappers.
 
896
        - non-linux arch/os identification (Eugene Kanter).
 
897
        - portable mode_t/pid_t typedefs.
 
898
        - fix check for trailing / in Prefix:
 
899
        - remove 2 character language name assumption.
 
900
        - add /usr/lib/rpm/find-lang.sh (W. L. Estes <wlestes@uncg.edu>)
 
901
        - miscellaneous portability cruft (Eugene Kanter).
 
902
        - Makefile: don't use ln -sf.
 
903
        - getOutputFrom(): fix race between last read on pipe and child death
 
904
          (exacerbated in 2.5.4).
 
905
        - rpm.spec: create /usr/src/redhat/* in %install.
 
906
 
 
907
2.5.3 -> 2.5.4:
 
908
        - expand args using popt on pre-rpmReadConfigFiles arg pass.
 
909
        - skip arch checks if only packaging source rpm.
 
910
        - add license field to rpmpopt -qi alias.
 
911
        - provides/obsoletes requires tokens that begin with alnum or _.
 
912
        - non-zero exit status for verify failures.
 
913
        - hpux does setreuid differently (Hermann Lauer).
 
914
        - check for setreuid portably (Eugene Kanter).
 
915
        - add Serbian translation (Zoltan Csala <zcsala@iname.com>).
 
916
        - arch/os tables were not being initialized  for noarch builds.
 
917
        - quote users/groups/filenames in --setugids.
 
918
        - add Russian translation w man pages (Serguei Koubouchine <ksi@gu.net>)
 
919
        - fix virtual file attribute bug that skipped all files in binary rpm.
 
920
        - eliminate infinite loop with missing tmpdir (Trent Jarvi).
 
921
        - os_canon for CYGWIN32_NT/95.
 
922
        - rationalize autoconf detection of gzip/bzip2.
 
923
        - restore backward compatible rpmrc/rpmpopt symlinks.
 
924
        - update pt_BR translations (Arnaldo Carvalho de Melo).
 
925
        - permit --{buildroot,timecheck,test,sign} with -tX (Toshio Kuratomi).
 
926
        - fix database rebuilds with triggers (Steve Sanberg).
 
927
        - diagnostic message if unreadable/short source or patch file.
 
928
        - eliminate redundant close in provide/require processing.
 
929
        - solaris portability patch resurrection (Steve Sanberg).
 
930
        - permit autogen.sh to work on non "prefix=/usr" hosts.
 
931
        - add %license/%readme virtual file attributes.
 
932
        - align "Build Host:" with other fields.
 
933
 
 
934
2.5.2 -> 2.5.3:
 
935
        - copy changelog tags to sub-packages just before packaging.
 
936
        - added EPOCH handling to supplement serial numbers
 
937
        - add RPMTAG_EPOCH and RPMTAG_CAPABILITY init to 0.
 
938
        - fix infinite recursion on non-ERANGE return from getcwd() during
 
939
          install (Matt Wilson).
 
940
        - rm .depend for multiple builds in same tree (Will Partain)
 
941
        - addFile: fix special case of "/" in %files.
 
942
        - better query semantics with symlinks (Tim Mooney)
 
943
        - build.c: fix incorrect check for successful open
 
944
        - allow %define with leading whitespace
 
945
        - use /usr/lib/rpm for rpmpopt, rpmrc, find-requires, find-provides
 
946
        - added popt 'exec' functionality
 
947
        - made --rebuilddb a bit more robust by checking data types
 
948
        - added --freshen via popt exec stuff
 
949
        - fixed spelling of expected
 
950
        - updated de.po (Karl Eichwalder)
 
951
        - do a better job of checking for a spec file in tarballs
 
952
          (Pavel Roskin)
 
953
        - fixed --triggers alias (Michael Andres)
 
954
        - added :hex query format
 
955
        - fixed --querytags to display virtual tags
 
956
?????   - added --triggers and --triggered by to man page, help, and usage
 
957
?????   - added support for epochs
 
958
 
 
959
2.5.1 -> 2.5.2:
 
960
        - added -bs to build just a source package
 
961
        - included irix.req and irix.prov (Tim Mooney)
 
962
        - copy CHANGELOG* and URL tags to all subpackages
 
963
        - follow symlinks when packaging sources
 
964
        - handle %files -f with no %setup (no build directory)
 
965
        - fixed ugly i18n header bug
 
966
        - deal with lang paths sanely when entries are missing languages
 
967
        - fix bug packing /usr/doc when last file was %dir
 
968
        - added --last alias
 
969
        - fix :depflags query format
 
970
        - Group: i18n (like Summary:)
 
971
        - make --justdb install files in normal state
 
972
        - %{fssizes} segv'd for packages with empty file lists
 
973
        - updated HP-UX, OSF1, Irix 6.x dependency scripts (Tim Mooney)
 
974
        - added arm and MachTen arch/os info
 
975
        - added --filesbypkg query format
 
976
        - updated README to have proper URLs
 
977
        - updated rpm.spec for proper paths and cleanliness
 
978
        - dependency resolution could hang when Provides: line is used in
 
979
          rpmrc (Tim Mooney)
 
980
        - updated mips rpmrc entries (Alex deVries)
 
981
        - version/release conditional triggers weren't ignoring the trigger     
 
982
          package name at the front of the TRIGGERVERSION
 
983
        - added --notriggers for -i and -e
 
984
        - made --triggers a synonym for --triggerscripts
 
985
        - ftp installs were trying to use /var/tmp/tmp
 
986
        - allow whitespace in source/patch lines
 
987
        
 
988
2.5 -> 2.5.1:
 
989
        - fail if sources are not regular files
 
990
        - wasn't catching readLine() errors
 
991
        - fixed (hopefully) temp file creation problems
 
992
        - make %doc obey --test
 
993
        - unlink before writing .rpms
 
994
        - librpm.c: added headerGzRead()/headerGzWrite()
 
995
        - set bzip2path via lib-rpmrc/configure (Toshio Kuratomi)
 
996
        - added finish translation (Raimo Koski)
 
997
        - prefer db_185.h to db.h (Christopher Seawood)
 
998
        - included updated hpux.req (Ralph Goers)
 
999
        - added aix.req (Ralph Goers)
 
1000
        - updated hpux.prov, osf.req, osf.prov (Tim Mooney)
 
1001
        - set file states for --justdb packages to "not installed"
 
1002
        - handle missing file states properly in -e code
 
1003
        - install time wasn missing for --justdb packages
 
1004
        - missing parameter in an rpmError() caused segfault
 
1005
 
 
1006
2.4.109 -> 2.5:
 
1007
        - fixed return code bug in build code
 
1008
        - do macro expansion before %if processing
 
1009
        - dep ordering returns w/ an error as soon as a prereq loop is found
 
1010
        - autoreqprov flag was being ignored during builds
 
1011
        - add autoreq: and autoprov:
 
1012
        - missed a few unlink() when scripts failed
 
1013
        - freePrefixes wasn't initialized in runScript()
 
1014
        - fix typo in %triggerpostun generation
 
1015
        - include icons in source packages
 
1016
        - headerGetEntry() should return count of 1 when returning
 
1017
          strings plucked from i18n strings
 
1018
        - do not remove comments in scripts
 
1019
        - save/restore existing arch when done with buildarch
 
1020
        - copy the I18N table to the source header so i18n stuff works
 
1021
        - fixed multiple memory leaks in install code
 
1022
        - fixed bug in part recognition
 
1023
        - shared files weren't being handled properly in net shared paths
 
1024
 
 
1025
2.4.108 -> 2.4.109:
 
1026
        - remove icons with --rmsource
 
1027
        - do dependecy generation on -bl
 
1028
        - check files on all packages on -bl
 
1029
        - integrate Jeff Johnson's memleak patches
 
1030
        - added OSF1 autodep scripts
 
1031
 
 
1032
2.4.107 -> 2.4.108:
 
1033
        - make --clean work with no %setup
 
1034
        - fixed FSSIZES problem introduced in 2.4.107
 
1035
        - fixed search for find-requires.sh
 
1036
        - improved solaris autodeps scripts
 
1037
        - automated (somewhat) the -static flag
 
1038
 
 
1039
2.4.106 -> 2.4.107:
 
1040
        - --nomd5 wasn't handled properly
 
1041
        - updated configure.in find-req and find-prov checks (Tim Mooney)
 
1042
        - make --rmsource actually work
 
1043
        - run postun triggers
 
1044
 
 
1045
2.4.105 -> 2.4.106:
 
1046
        - build: only check for non-printables in first 128 chars
 
1047
        - added %triggerpostun
 
1048
        - linux.req generates deps for shared libs
 
1049
        - added a CC=@CC@ to popt/Makefile.in
 
1050
        - handle signed return types from poptGetNextOpt() properly
 
1051
 
 
1052
2.4.104 -> 2.4.105:
 
1053
        - added langpatt: to rpmrc, and mark files with matches
 
1054
        - added some C++ cruft to rpmlib.h
 
1055
        - added find-requires and find-provides for hpux (Tim Mooney)
 
1056
        - respect LINGUAS when install package files
 
1057
        - added trigger support to build code
 
1058
        - got rid of annoying mwftw() type warning
 
1059
        - fixed many command line options which got broke by changes
 
1060
          for non-gcc compilers
 
1061
        - added trigger support in install code
 
1062
        - added doc/triggers
 
1063
        - strntoul() in lib/cpio.c was returning a pointer to freed
 
1064
          memory
 
1065
        - headerAppend() was doing a bad memcpy()
 
1066
 
 
1067
2.4.103 -> 2.4.104:
 
1068
        - fixed popt/Makefile.in to use CPP from configure
 
1069
        - use tmppath from rpmrc to for ftp'd files (rather then /var/tmp)
 
1070
        - autoconf files and .depend files weren't created properly during
 
1071
          make archive
 
1072
 
 
1073
2.4.102 -> 2.4.103:
 
1074
        - need to create popt/configure during make archive
 
1075
        - added comments about modifictation to base popt and rpmrc files
 
1076
        - allow spaces in group names
 
1077
        - fix bug in memory allocation of special doc stuff
 
1078
        - Jeff Johnson's mode/dev fixes
 
1079
        - clean up buildroot
 
1080
        - be more paranoid about making temp files
 
1081
        - added patches from Tim Mooney which let RPM build with non-gcc
 
1082
          compilers and non-GNU versions of make
 
1083
 
 
1084
2.4.101 -> 2.4.102:
 
1085
        - fixed spelling of "instchangelog" in lib-rpmrc.in
 
1086
        - fixed memory leak in headerSprintf() extension cache
 
1087
        - fixed memory allocation for header formatting extension cache
 
1088
        - added support for INSTPREFIX virtual tag for backwards compatibility
 
1089
        - cpio error codes were poorly defined, causing bad error messages
 
1090
        - generates INSTPREFIXES tag properly, and sets RPM_INSTALL_PREFIX
 
1091
          and RPM_INSTALL_PREFIXn environment variables
 
1092
        - fixed memory leak in install code which occured when net shared paths
 
1093
          were used
 
1094
        - don't pass net shared path to rpmInstallPackage() -- it looks 
 
1095
          directly in the rpmrc entries
 
1096
        - don't remove files in netsharedpath, even for files whose states
 
1097
          are not net shared
 
1098
        - changed --setugids to use separate chown and chgrp programs, for
 
1099
          better portability
 
1100
        - popt moved to autoconf
 
1101
        - Makefiles changed to allow building in a different directory then
 
1102
          the source code resides in
 
1103
        - finally fixed the Build Host spacing in rpmpopt
 
1104
 
 
1105
2.4.100 -> 2.4.101:
 
1106
        - handle files with spaces (put double quotes around them)
 
1107
        - new rpmrc setting, buildshell, can be used to set shell
 
1108
          used for build scripts (default is /bin/sh)
 
1109
        - fix bug where macros were being improperly set for
 
1110
          Patch: and Source: lines
 
1111
        - may use "instchangelog" in rpmrc to limit the maxmium number of 
 
1112
          changelog entries that are stored in the database for each package
 
1113
          (-1 means store all of them)
 
1114
        - default instchangelog is set to 5
 
1115
        - headerRemoveEntry() didn't free the item's data -- this led to
 
1116
          a slight memory leak when installing packages
 
1117
        - implemented generic file relocations at install time
 
1118
          (use --relocate <oldpath>=<newpath>, i.e. --relocate /usr=/foo)
 
1119
        - added --badreloc flag to force RPM to relocate files which packages
 
1120
          haven't advertised as relocateable
 
1121
        - fix return code on failed uncompresses in %prep
 
1122
        - preliminary handling of bzip2 compressed files
 
1123
        - differentiates between big and little endian mips
 
1124
        - added support for "prefixes:" tag
 
1125
 
 
1126
2.4.99 -> 2.4.100:
 
1127
        - fixed handling of --rebuild and --recompile
 
1128
        - fixed rpmlibbuild.a typo in Makefile
 
1129
        - fixed handling of '\' in spec files (a specific case of a more
 
1130
          general bug)
 
1131
        - change use of "export" to work with non-bash shells
 
1132
        - compress the archives.  oops.
 
1133
        - fixed bug when there is no %setup
 
1134
        - added -L$(topdir)/popt to Makefile.inc
 
1135
 
 
1136
2.4.12 -> 2.4.99:
 
1137
        - added many more i18n strings
 
1138
        - merged in large rewrite of build code, which includes the following
 
1139
          changes:
 
1140
            - new option --rmsource
 
1141
            - all scripts can now take -p <prog>
 
1142
            - more strict about %package placement and use of main package 
 
1143
              preamble
 
1144
            - %attr(mode, user, group [, dirmode])
 
1145
            - %defattr()
 
1146
            - %defverify()
 
1147
            - Root: is depricated.  Use BuildRoot: instead
 
1148
            - "nosrc" sources arn't deleted when sources are removed
 
1149
            - New tag DocDir: <dir> to set alternate doc dir (default is 
 
1150
              /usr/doc)
 
1151
            - %doc should work as expected with buildroot, prefix, DocDir:
 
1152
            - all file processing is done before any packaging
 
1153
            - should work with modern patch programs (later than 2.1)
 
1154
            - %patch -z <arg> same as %patch -b <arg>
 
1155
            - %define only defines a macro if it starts a line
 
1156
            - script prog entries are now arrays (ie with arguments)
 
1157
            - standard macros: tag names, buildarch, buildos, buildarch_lc, 
 
1158
              buildos_lc, PATCHn, SOURCEn, PATCHURLn, SOURCEURLn, sourcedir, 
 
1159
              builddir, optflags
 
1160
            - deprecate require_distribution, require_icon, require_vendor
 
1161
            - add RPMTAG_FILEDEVICES and RPMTAG_FILEINODES to header
 
1162
            - export variables in scripts
 
1163
            - fixed tag:field bug
 
1164
            - %lang() in %files
 
1165
            - %description -l <lang>
 
1166
            - Summary(<lang>):
 
1167
            - fixed read_line() termination usage
 
1168
        - Makefile changes to shorten compiler lines
 
1169
 
 
1170
2.4.11 -> 2.4.12:
 
1171
        - intialize reserved portion of lead when writing packages
 
1172
        - fixed error messages displayed when opening the database
 
1173
          fails during package installation and removal
 
1174
        - query format of the form '[A%{}]' would drop the static string
 
1175
        - fixed fix in 2.4.9 for empty packages which broke -qip on ftp URL's
 
1176
        - fixed arch/os numbers in lead
 
1177
        - added Turkish message catalog
 
1178
        - -e was running scripts even w/ --test was specified
 
1179
 
 
1180
2.4.10 -> 2.4.11:
 
1181
        - HAVE_SYS_SOCKET_H was mistakingly MACHINE_SYS_SOCKET_H in
 
1182
          config.h.in
 
1183
        - \%description was trying to do %d expansion in query formats
 
1184
        - made %% work in query formats
 
1185
        - fixed bug in handling characters before array
 
1186
        - let mips build noarch packages
 
1187
        - --setperms would set wrong permissions in some cases (it was
 
1188
          following symlinks)
 
1189
 
 
1190
2.4.9 -> 2.4.10:
 
1191
        - obsolete entries could cause segv's during upgrades
 
1192
        - sources now installed with uid/gid of process rather then
 
1193
          the ids used when the src rpm was created
 
1194
        - don't give an error if missingok files don't exist during remove
 
1195
        - touched ftp code to make it coexist w/ Red Hat install better
 
1196
        - use rand/srand rather then random/srandom
 
1197
        - don't build misc directory unless it's necessary
 
1198
        - empty package files should be treated the same as files
 
1199
          with bad magic, not as read errors
 
1200
        - fix bug where Prefix directory is included in file list
 
1201
        - sinix readdir() work-around
 
1202
 
 
1203
2.4.8 -> 2.4.9:
 
1204
        - fix for verification on systems where a single group id
 
1205
          maps to mulitiple group names (Benedict Lofstedt)
 
1206
        - added 'make tar' rule for building a distribution tarball
 
1207
          (Horacio Rodriguez Montero)
 
1208
        - fixed serial number handling in dependencies and install
 
1209
          code
 
1210
        - make mips compatible with noarch
 
1211
        - fixed bug w/ printing string arrays in conditionals
 
1212
        - handle modern patch programs (> 2.1)
 
1213
        - handle packages w/ duplicate dependency names
 
1214
        - --noscripts didn't get handled properly for removed packages
 
1215
        - fixed handling of packages where %prereq creates users/groups
 
1216
 
 
1217
2.4.7 -> 2.4.8:
 
1218
        - added noarch build compatibilities for ppc, m68k
 
1219
        - fixed some minor typos (Florian La Roche)
 
1220
        - added Obsoletes: tag, an upgrade removes packages which
 
1221
          have been obsoleted
 
1222
        - updated rpmdepUpgradePackage() to deal with obsoletes tag
 
1223
        - convertdb needed to read rpmrc
 
1224
        - fixed ugly bug in package ordering
 
1225
        - archivesize tag was incorrect for packages with hard links
 
1226
        - moved popt into a separate library
 
1227
        - directory created with %doc is now name-version (dropped
 
1228
          the release)
 
1229
        - added buildarch/buildos macros
 
1230
        - added %ghost file option
 
1231
        - updated linux.req to only find requirements for exectuable files
 
1232
 
 
1233
2.4.6 -> 2.4.7:
 
1234
        - had some wrong month lengths in changelog date parsing
 
1235
        - updated fine-requires (Linux version) to add lines for shell
 
1236
          scripts (Donnie Barnes)
 
1237
        - didn't package / properly
 
1238
        - pre/post script processing had some erroneous free() calls
 
1239
        - fixed typos for HP archs in lib/rpmrc.c
 
1240
        - uname() results should go through *_canon tables before anything
 
1241
          else happens
 
1242
        - set -x in debug shells, not -xs
 
1243
 
 
1244
2.4.5 -> 2.4.6:
 
1245
        - added os_canon entries for BSD/OS and NextStep
 
1246
        - replaced include of <malloc.h> with includes of <stdlib.h>
 
1247
        - fixed md5sum of source packages w/ a buildroot is used
 
1248
        - fixed bugs installing version 1 packages
 
1249
        - remove hyphens from uname() result (specifically for HP-UX)
 
1250
        - hacks to recognize architecture under parisc
 
1251
        - RPM_INSTALL_PREFIX wasn't being set properly (this should be
 
1252
          fixed now)
 
1253
        - replaced temporary file creation to be race-condition safe
 
1254
        - prerequisites may not specify versions
 
1255
 
 
1256
2.4.4 -> 2.4.5:
 
1257
        - call getpwnam()/endpwent() once before a chroot(), forcing name 
 
1258
          service shared libs to be loaded from outside of the root path
 
1259
        - added vesrion stamp to lib/misc.o (and librpm.a by extension)
 
1260
        - fixed config.sub, config.guess to recognize i686
 
1261
        - ARCHIVESIZE tag didn't get filled in properly, breaking progress
 
1262
          meters
 
1263
 
 
1264
2.4.3 -> 2.4.4:
 
1265
        - restore working directory after installing a package w/ a chroot
 
1266
        - dump the package stack when a dependency loop is encountered
 
1267
        - when a user/group lookup fails, end*ent() and retry 
 
1268
        - fixed broken --scripts argument (it was --s2)
 
1269
        - only display the packager and url in -qi output if they have defined
 
1270
          values
 
1271
        - print "(not installed)" as the install time for -p queries rather
 
1272
          then "not a number"
 
1273
        - almost completely rewrote rcfile parsing; I'm sure this will
 
1274
          break things eventually but it's much more flexible now
 
1275
        - added buildarch/buildos compatibility tables, listed values
 
1276
          in --showrc
 
1277
        - added cpio archive building code; GNU cpio is no longer used!
 
1278
          packages created w/ rpm 2.4.4 and later cannot be installed with
 
1279
          rpm 2.4 - rpm 2.4.3 however (version of RPM before 2.4 will 
 
1280
          work fine, however). An "error -2 reading header" happens when
 
1281
          this is attempted
 
1282
        - removed cpiobin from rpmrc
 
1283
        - added rpmrc "provides" tag to allow easy fulfillment of 
 
1284
          automatically generated dependencies
 
1285
        - look for random() in libm if it can't be found be default
 
1286
        - fixed problems in Solaris's autodeps stuff (Eric Mumpower)
 
1287
        - --setperms should work properly on directories now
 
1288
        - --justdb on install, upgrade, and erasure causes a database
 
1289
          update w/o the filesystem being touched
 
1290
        - fixed version comparison of a package w/ a serial tag against
 
1291
          a package w/o one
 
1292
        - added BuildArchitectures: tag to spec file to enable builds
 
1293
          for alternate/multiple architectures
 
1294
        - look for random() in -lucb
 
1295
        - changed the licensing terms for librpm to allow redistribution
 
1296
          under the LGPL
 
1297
        - applied man page changes from Alex deVries
 
1298
        - configure.in builds up LIBS by appending (Benedict Lofstedt)
 
1299
        - rpm2cpio reported wrong zlib error string
 
1300
        - removed \n from (none) generated by query format code
 
1301
        - queries of fssizes w/o fsnames didn't work (Till Bubeck)
 
1302
        - added --noorder option to skip package reordering (Elliot Lee)
 
1303
 
 
1304
2.4.2 -> 2.4.3:
 
1305
        - implemented install time prerequisites
 
1306
        - repaired %{#TAG} query format
 
1307
        - implemented ternary operator as query expression
 
1308
        - fixed --scripts to only print information on scripts which
 
1309
          are present
 
1310
        - check symlink() return for < 0, not != 0 (Bob Tanner)
 
1311
        - uses chroot() for installs --root option
 
1312
        - archive expansion doesn't create new devices or symlinks when
 
1313
          the proper files already exist
 
1314
        - added -p to %post (etc) to specify the program which a script
 
1315
          is run through
 
1316
        - if -p is used w/ an empty script, the specified program is
 
1317
          executed directly 
 
1318
        - the -p argument (or /bin/sh) is automaticall added as a prereq
 
1319
 
 
1320
2.4.1 -> 2.4.2:
 
1321
        - completely rewrote queryformat code
 
1322
        - added fsnames, fssizes virtual query tags
 
1323
        - added rpmdbFindByHeader() and rpmdbFindByTag() public functions
 
1324
        - added rpmfilename tag to rpmrc to define the filename format to
 
1325
          use for binary packages (note the rpmdir is prepended to it)
 
1326
        - used pclose() instead of fclose() in -t code
 
1327
        - updated man pages
 
1328
        - changed "struct rpmdb" to "struct rpmdb_s" for C++
 
1329
        - netsharedpath entries shouldn't match partial directory names
 
1330
          anymore (a nersharedpath of /usr/lib shouldn't affect /usr/libexec)
 
1331
        - don't backup config files on netsharedpaths (take 2)
 
1332
        - added "day" query format which is like date, but doesn't print
 
1333
          any time
 
1334
        - added --changelog alias to query a packages changelog entry
 
1335
        - added mntctl() support for AIX (I think, I can't test this)
 
1336
        - fflags query type displays 's' for specfiles, 'm' for missingok
 
1337
          files, and 'n' for noreplace files
 
1338
        - implemented %config(missingok) flag in install
 
1339
        - added --allfiles flag for -i and -U, which forces all files (even
 
1340
          missingok files) to be installed
 
1341
        - implemented %config(noreplace) for the install, but it hasn't
 
1342
          been tested in any way
 
1343
        - added i18n support to headers
 
1344
        - added ppc/rs6000 differntiation for AIX
 
1345
        - all IP* from uname() is changed to just IP
 
1346
        - IP is considered the same as mips (not sgi)
 
1347
        - added IRIX64 OS, it's compatible w/ IRIX
 
1348
 
 
1349
2.4 -> 2.4.1:
 
1350
        - take advantage of lchown() if it's available
 
1351
        - fixed configure script to assume chown() doesn't follow symlinks
 
1352
          if lchown() isn't available and configure is not being run as root
 
1353
        - more header file changes for AIX
 
1354
        - added :shescape query format type for strings, which prints strings
 
1355
          which will survive a single level of shell expansion
 
1356
        - fixed --setperms and --setugids to handle empty packages and 
 
1357
          packages with odd filenames
 
1358
        - include <sys/time.h> before <sys/resource.h>
 
1359
        - include "miscfn.h" first in every file which needs it
 
1360
        - created noarch architecture which everything is compatible with
 
1361
        - fixed group verification (Benedict Lofstedt)
 
1362
        - don't backup config files on netsharedpaths
 
1363
        - added info on --build{arch|os} to --help and usage messages
 
1364
 
 
1365
2.3.11 -> 2.4:
 
1366
        - changed RPMNLSDIR directories to and @datadir@ to better
 
1367
          conform with autoconf
 
1368
        - set RPM_INSTALL_PREFIX environment variable when running 
 
1369
          verify scripts
 
1370
        - beginnings of SCO support (though I suspect it will take one
 
1371
          or two more iterations to get it right)
 
1372
        - switched to CVS and updated some Makefile rules
 
1373
        - look for gethostbyname() instead of gethostname() in -nsl
 
1374
          (this could break some things)
 
1375
        - added check for strcasecmp() in -lucb on systems which don't
 
1376
          have strcasecmp() in libc
 
1377
        - don't build -static on hpux10
 
1378
        - don't try and NLS empty strings
 
1379
        - changed index() call to strchr() in macro code
 
1380
        - include <time.h> in build/spec.c for various platforms
 
1381
        - added update-po rule to po/Makefile.in
 
1382
        - updated de.po (thanks to Karl Eichwalder)
 
1383
        - rpmFindByFile() removes trailing and duplicate /'s
 
1384
        - made many string in rpm program (though not yet in the various
 
1385
          libraries) translatable
 
1386
        - eight character user names could break -qlv
 
1387
        - requirements which begin with a leading / require files (in
 
1388
          the database!) instead of packages
 
1389
        - clean up conflictsindex during --rebuilddb
 
1390
        - get path to gzip from /usr/lib/rpmrc rather then just hoping it's 
 
1391
          in the path
 
1392
        - use dbpath for error messages with include database path in 
 
1393
          their text
 
1394
        - don't set owner/group if binaries installed by "make install"
 
1395
        - include <strings.h> on SCO
 
1396
        - don't use cpio when installing packages <gulp>
 
1397
        - fixed bug which affected dependencies on the Alpha
 
1398
        - made '=' work for long arguments (the switch to popt broke this)
 
1399
        - handle solaris systems better
 
1400
        - complain if critical rpmrc variables (cpiobin, gzipbin, etc) aren't
 
1401
          set anywhere
 
1402
        - allow --dbpath for --rebuilddb
 
1403
        - added check for systems whose chown() follows symlinks. If configure
 
1404
          is run as root, this should get it right, otherwise it assumes
 
1405
          chown() does not follow symlinks. You can use --enable-broken-chown
 
1406
          to force configure to think chown does indeed follow symlinks.
 
1407
        - if chown() follows symlinks, we don't chown() symlinks during cpio
 
1408
          unpacking and we don't verify the owner or group of symlinks
 
1409
        - added packager and url to default -qi output
 
1410
        - look for <sys/select.h> and use it if it's there (for AIX)
 
1411
 
 
1412
2.3.10 -> 2.3.11:
 
1413
        - fixed newlines in --scripts output
 
1414
        - fix handling of source files with bad owners/groups
 
1415
 
 
1416
2.3.9 -> 2.3.10:
 
1417
        - --allmatches handling in -e broke some cases
 
1418
        - new predefined macros: %SOURCEn %PATCHn %SOURCEURLn %PATCHURLn
 
1419
        - fix anomoly with %files -f <file> and %doc
 
1420
        - ignore config bit when it's set on directories (which allows
 
1421
          users to replace directories with symlinks)
 
1422
        - don't set config bit on directories
 
1423
        - strip trailing slashes from files (during build)
 
1424
        - %tags are now case sensitive (macros too)
 
1425
 
 
1426
2.3.8 -> 2.3.9:
 
1427
        - reworked %setup to allow multiple -a and -b options, which
 
1428
          should noticeably ease the task of unapcking multiple tar files
 
1429
        - md5 sum's were calculated incorrectly on big endian machines
 
1430
          from 2.3.2 through 2.3.8 -- this was fixed and some hacks were
 
1431
          done to keep verification working
 
1432
        - updated README
 
1433
        - added --allmatches to allow erasing multiple versions/releases
 
1434
          of a package
 
1435
        - changed ftp URL's to use \r\n, not just \n (this should let RPM
 
1436
          work w/ some picky (but rfc compliant) ftp servers
 
1437
        - fix problem where parts at end of spec file were dropped
 
1438
        - added %config(noreplace missingok) (build-side)
 
1439
        - simple spec file macros
 
1440
        - should now process entire file list before failing
 
1441
        
 
1442
2.3.7 -> 2.3.8:
 
1443
        - added -t? options to build packages from tarballs which contain
 
1444
          .spec files instead of from the .spec files directly
 
1445
        - fixed error in man page where ftp URLs are discussed
 
1446
        - don't strlen(NULL) in headerAddEntry()
 
1447
        - minor portability changes
 
1448
        - stopped building oldrpmdb.c as part of rpmlib
 
1449
        - added Makefile rule for building rpmconvert (which is almost
 
1450
          never needed) -- this isolated gdbm dependence to this target
 
1451
        - fixed checking of popt stack overflow
 
1452
        - --requires shouldn't imply -q
 
1453
        - fixed error message issued when a groupname does not exist
 
1454
        - fixed but in changelog processing which made it hang on '*' in a
 
1455
          changelog entry
 
1456
        - generate S_ISSOCK and S_ISLNK macros on systems w/o them
 
1457
        - "rpm --erase" wasn't returning proper error codes w/ package
 
1458
          removal failed
 
1459
 
 
1460
2.3.6 -> 2.3.7:
 
1461
        - fixed nasty memory link in -Va
 
1462
        - configure checks for -lnsl explicitly rather then linking it
 
1463
          to -lsocket (for NCR SysVR4)
 
1464
        - configure checks for dirent.h
 
1465
        - modified glob.c to include config.h and use HAVE_DIRENT_H
 
1466
        - cleanup of LIBS/LIBPATH mess a bit more
 
1467
 
 
1468
2.3.5 -> 2.3.6:
 
1469
        - -Vf uses realpath() now
 
1470
        - -Vp lets you use --ftpproxy, --ftpport
 
1471
        - changed popt format, breaking all popt alises :-(
 
1472
        - added ability to alias character arguments to popt 
 
1473
        - moved --requires, --info to /usr/lib/rpmpopt
 
1474
        - RPM is more forgiving of blank user names (dumb)
 
1475
        - popt searches for aliases in the correct order now
 
1476
        - cleanup query code to handle missing uid lists better
 
1477
        - cleanup up configure.in a tad
 
1478
 
 
1479
2.3.4 -> 2.3.5:
 
1480
        - %{#TAG} in query format prints the array length
 
1481
        - cleanup up protoypes in rpmlib.h
 
1482
        - let -Vp work on URLs
 
1483
        - don't set umask(0) anymore -- that confused programs which
 
1484
          link against rpmlib quite badly
 
1485
        - moved print out in "rpm -v -i" to occur after any warnings
 
1486
          to pretty up the output a bit
 
1487
        - added default optflags for powerpc
 
1488
        - run shell for post/pre scripts in debug mode with -sx for
 
1489
          some silly shells
 
1490
        - installing source packages with --root checked for the 
 
1491
          sources/specs directory to exist outside of the root -- fixed
 
1492
        - modified toplevel Makefile to run dependency generation only
 
1493
          against referenced sources
 
1494
        - array size mismatches in --qf should send error to stderr
 
1495
        - tried to make the locale stuff a bit more portable (again)
 
1496
        - reworked the owner/group setting on installs to be more generic
 
1497
          (in preperation for getting rid of cpio)
 
1498
        - made verify verify owner and groups by name rather then by id -- if
 
1499
          the symbolic names aren't available use the uids
 
1500
        - cleaned up relocateFilelist() and related code thanks to
 
1501
          new header introduced in 2.3.3 -- this could break relocateable
 
1502
          packages but they seem okay
 
1503
        - fixed a bug which could cause relocateable packages to not get
 
1504
          relocated -- I think this bit some people during hard drive
 
1505
          installs of all things (Jason Salopek pestered me consistently
 
1506
          enough to keep this on the front burner for me)
 
1507
        - removed FILEUIDS and FILEGIDS from the header in the database --
 
1508
          we never used it and it jsut wasted room
 
1509
        - convert uid/gid lists in v1 headers to symbolic names 
 
1510
 
 
1511
2.3.3 -> 2.3.4:
 
1512
        - %changelog processing
 
1513
        - fixed broken requires/conflicts parsing for spec file
 
1514
        - vastly improved --rebuilddb's robustness
 
1515
        - fixed misplaced free() (only affected inconsistent databases)
 
1516
        - added conflicts documentation to docs/dependencies
 
1517
        - using multiple query formats has them all concatenated
 
1518
        - removed stdin based query and verify selectors
 
1519
        - installs rpmpopt in libdir
 
1520
        - moved --provides and --scripts to rpmpopt
 
1521
        - added --setperms, --setugids
 
1522
        - incorporated newer de.po from Karsten Weiss
 
1523
        - --resign/--addsign was broken in 2.3.3 from popt conversion
 
1524
 
 
1525
2.3.2 -> 2.3.3:
 
1526
        - Ripped out header internals and redid them. Any compatibility 
 
1527
          problems this causes are *bugs* as it should be completley 
 
1528
          transparent. If this works the devil better buy some Prestone (TM).
 
1529
        - Use "cp -pr" instead of "cp -ar" for %doc expansion
 
1530
        - use <string.h> instead of (non standard) <strings.h> in some places
 
1531
        - look for non-POSIX (broken) chmod
 
1532
        - include local copies of glob/fnmatch
 
1533
        - removed getopt() check from configure.in
 
1534
        - fixed bug in ftp code which prevented proper logins to some sites
 
1535
        - switched to popt from getopt, which allows command line aliasing
 
1536
        - read initial aliases from /usr/lib/rpmpopt then /etc/popt and
 
1537
          $HOME/.popt
 
1538
        - cleanup up rdev verification (only verifies device files, checks
 
1539
          device related mode bits as well)
 
1540
        - fixed allocation of temporary paths (Eugene Kanter noticed this)
 
1541
        - made tools/dumpdb read the rpmrc so it can find the database
 
1542
        - added --nomd5 for -V and -K
 
1543
        - don't assume mkdir -p will succeed if the dir exists
 
1544
        - use RPMNLS* defines to avoid header file conflicts
 
1545
        - bunch of minor cleanups to avoid warnings on other OS's
 
1546
 
 
1547
2.3.1 -> 2.3.2:
 
1548
        - fixed bug in new rpmVersionCompare() which made it worse then
 
1549
          useless (thanks to Norbert Kiesel)
 
1550
        - fixed silly message
 
1551
 
 
1552
2.3 -> 2.3.1:
 
1553
        - changed --help routing to have intelligent line wrapping
 
1554
          to make i18n efforts easier
 
1555
        - NLSDIR should be used for nls catalogs, not a hardcoded path
 
1556
        - NLSDIR should be in share, not lib
 
1557
        - renamed sweedish catalog from se to sv
 
1558
        - added german catalog
 
1559
        - treat RPM_CHAR_TYPE as RPM_INT8_TYPE for queries
 
1560
        - made rpmEnsureOlder() internal to lib/install.c
 
1561
        - added rpmVersionCompare() to compare version/release/serial numbers
 
1562
          for packages -- returns like strcmp()
 
1563
        - stdout/stderr were getting closed after running a verify script
 
1564
        - relocting packages didn't work w/ the packages contained the
 
1565
          directory which was it's prefix
 
1566
 
 
1567
2.2.11 -> 2.3:
 
1568
        - replaced putenv/setenv which calls which malloc() buffer -- these
 
1569
          are memory leaks, but the functions are only used between a fork()
 
1570
          and exec() so it doesn't matter
 
1571
        - created directroies are stamped with mtime from the file list
 
1572
 
 
1573
2.2.10 -> 2.2.11:
 
1574
        - fixed some include file problems for FreeBSD
 
1575
        - fixed find-provides script for Linux (silly typo)
 
1576
        - -qvl didn't print out sticky bit
 
1577
        - linux.prov won't print provides info for symlinks which point
 
1578
          to libraries w/ proper sonames
 
1579
 
 
1580
2.2.9 -> 2.2.10:
 
1581
        - changed how installArchive() handles running out of gzread()
 
1582
          bytes while the child is still alive
 
1583
        - changed tag for Alpha's to "alpha" from "axp" <gulp>
 
1584
        - made ./configure look for --quiet support in cpio
 
1585
        - netsharedPath's were having mkdir()'s done on them and had
 
1586
          bad interactions with rooted directories
 
1587
        - made -qp accept '-' to query the package on stdin
 
1588
        - dependency checking was broken when no database was being used
 
1589
        - don't *ever* let cpio make directories -- we do a better job
 
1590
          (esp because we don't kill symlinks!)
 
1591
        - plugged memory leaks in upgrade (again thanks to mpr) -- install,
 
1592
          erase, upgrade, query, and verify all seem to be leakproof
 
1593
        - use select() rather than busy waiting in cpio_gzip()
 
1594
        - use half as much temp space during package assembly
 
1595
        - fail if spec file check fails
 
1596
        - changed canonical name for 68k to m68k (sorry)
 
1597
        - integrated FreeBSD changes from Jared Mauch
 
1598
        - integrated Irix changes from Hermann Lauer
 
1599
        - i18n support can be disabled w/ configure by --disable-nls
 
1600
          (thanks to Remy Card)
 
1601
        - integrated more AmigaOS patches, played with configure some
 
1602
          more to allow cross compiling (Kristof Depraetere)
 
1603
        - cleanups to rpm2cpio (closing the gz stream) (Elliot Lee)
 
1604
        - made find-provides return filename for libs w/ no soname
 
1605
 
 
1606
2.2.8 -> 2.2.9:
 
1607
        - fixed typo in default rpmrc
 
1608
        - made getBooleanVar() a bit better
 
1609
        - added triggers to package builds
 
1610
        - tagged spec file in source package file list
 
1611
        - added %verifyscript (controlled by --noscript, -v flags)
 
1612
        - changed pkgReadHeader() mechanism to be more generic
 
1613
        - added find-provides for Solaris, made find-provides setup
 
1614
          more generic (w/ configure.in picking the right one)
 
1615
        - fix -Q
 
1616
        - The Great Renaming
 
1617
        - use external OS specific script to generate requires lines
 
1618
          (should work with ld.so 1.8.x) (find-requries)
 
1619
 
 
1620
2.2.7 -> 2.2.8:
 
1621
        - added --ftpproxy, --ftpport (and wrote about them in rpm.8)
 
1622
        - added --nodeps to man page
 
1623
        - added --showrc to man page
 
1624
        - added conflict checking (use conflicts tag, which looks
 
1625
          just like the requires tag)
 
1626
        - fixed RPM's return code when package removal fails
 
1627
        - cleaned up lib/install.c a bit for readability
 
1628
        - plugged a bunch of memory leaks thanks to mpr -- install,
 
1629
          uninstall, verify, and query all seem clean now
 
1630
        - added support for trees shared over a network via netsharedpath
 
1631
          in rpmrc
 
1632
        - don't exit when there is an unknown option in an rpmrc, just
 
1633
          give an error and continue
 
1634
        - tried once again to get things working properly with 2.1's
 
1635
          write behavior
 
1636
        - added -E option for %patch
 
1637
        - added UltraSPARC support to lib-rpmrc
 
1638
        - moved default topdir and optflags settings to lib-rpmrc from 
 
1639
          /etc/rpmrc
 
1640
        - removed /etc/rpmrc from standard distribution
 
1641
        - use separate chgrp/chown commands in %setup macro
 
1642
        - kill(2) arguments were backwards in lib/install.c
 
1643
        - fileFile logging needed stdio to handle NULL args to %s
 
1644
        - default docdir (for %doc macro) set in lib-rpmrc rather then
 
1645
          hardcoded
 
1646
        - removed some of the \n from args to error() [though many are
 
1647
          still left]
 
1648
        - uninstall should fail if the preuninstall script fails
 
1649
        - --root works with --initdb now
 
1650
 
 
1651
2.2.6 -> 2.2.7:
 
1652
        - applied lots of portability patches
 
1653
        - builds on Solaris machines now!
 
1654
        - will build w/o i18n support if GNU gettext isn't installed
 
1655
        - added inet_aton, setenv functions for libmisc
 
1656
        - added Sun4c, Sun4m architectures
 
1657
        - use vfork() if fork() doesn't exist (for AmigaOS)
 
1658
        - look for GNU cpio, complain if it doesn't exist at build time
 
1659
        - put path for GNU cpio in /usr/lib/librpmrc
 
1660
        - install rpm.shared if rpm wasn't built (for Solaris)
 
1661
        - readHeader() in librpm.a should work on sockets (which may
 
1662
          return partial reads)
 
1663
        - package file query (-q -p) accepts ftp:// style URL's
 
1664
        - if gzread returns 0 bytes (at EOF), don't call write w/ 0 byte
 
1665
          argument as it's behviour isn't portable
 
1666
        - fixed -Vp behavior (doesn't seg fault w/ packages have dependencies)
 
1667
 
 
1668
2.2.5 -> 2.2.6:
 
1669
        - added --rebuilddb to rebuild database, updated man page
 
1670
        - fix fd leak in md5sum
 
1671
        - fixed group cache bug
 
1672
 
 
1673
2.2.4 -> 2.2.5:
 
1674
        - if rename() for moving .spec file from SOURCES to SPECS fails,
 
1675
          try copying it instead
 
1676
        - -h and -v work for source package >= V2
 
1677
        - -h output is much smoother now
 
1678
        - new AutoReqProv: tag in spec file can disable automatic
 
1679
          require/provide generation
 
1680
        - fixed md5sum problem on big endian machines in a way that's
 
1681
          mostly backwards compatible; this hack will be removed someday
 
1682
        - added :fflags tag
 
1683
        - fixed a couple of minor memory leaks in lib/install.c
 
1684
        - --test for building
 
1685
 
 
1686
2.2.3 -> 2.2.4:
 
1687
        - only remove docdir if %doc occurs
 
1688
        - allow -R to %patch
 
1689
        - moved to use GNU autoconf, though it probably isn't perfect yet
 
1690
          (thanks Kristof Depraetere)
 
1691
        - spec file sanity: no - chars in version or release,
 
1692
          must be a regular file :-)
 
1693
        - version specifications for requirements can use "-<release number>"
 
1694
        - default lib path, tmp path, topdir, and /usr/lib/rpmrc get set
 
1695
          by configure script relative to --prefix
 
1696
 
 
1697
2.2.2 -> 2.2.3:
 
1698
        - fixed script file md5 checking when files are in a root
 
1699
        - implemented proper strdup/free logic for dependency conflict
 
1700
          lists
 
1701
        - strip leading directories from ldd output
 
1702
        - fix non-null-terminated readlink() result
 
1703
        - fixed sscanf() in ftp code to use proper types
 
1704
 
 
1705
2.2.1 -> 2.2.2:
 
1706
        - added functionality to rpmlib to suggest resolutions for
 
1707
          dependency problems
 
1708
        - fix stupid allocation problem in exclude/exclusive stuff
 
1709
        - fix nasty bug where pointers in to the header were getting
 
1710
          stale after some realloc()s in addEntry()
 
1711
        - ignore OS tag for v2 packages -- it was wrong anyway
 
1712
        - match shared libs on ".so" rather than ".so."
 
1713
        - skip blanks from objdump for auto-provide
 
1714
        - if objdump gets us _end, provide the file name
 
1715
        - do not ldd non-regular files
 
1716
        - do not pass leading "/" to ldd
 
1717
        - fix ExcludeOs: and ExclusiveOs:
 
1718
        - -V verifies dependencies, can be controlled with --nodeps
 
1719
          and --nofiles
 
1720
        - added information on --nodeps to usage messages
 
1721
        - implement --timecheck and rpmrc timecheck:
 
1722
        - implement -bl
 
1723
        - catch duplicate files in file lists
 
1724
        - some random sanity checking on the file list
 
1725
 
 
1726
2.2 -> 2.2.1:
 
1727
        - made rpmRemovePackage() print message in verbose mode
 
1728
        - added support for ftp://user:pass@machine.org/ URL's
 
1729
          during installation - the password will be prompted for
 
1730
          if only the user is given, and anonymous ftp will be used
 
1731
          it both user and password are omitted (as before)
 
1732
        - Remove Exclusive: Exclude:
 
1733
          Replace with: ExclusiveArch: ExclusiveOs:
 
1734
                        ExcludeArch: ExcludeOs:
 
1735
        - fixed dependency cheking for packages that are installed
 
1736
          at the same time
 
1737
        - fixed version number dependency checking
 
1738
        - fixed problem installing v1 source packages (thanks to
 
1739
          Nikita Borisov)
 
1740
        - fixed minor spelling/spacing problems (Nikita Borisov)
 
1741
        - assume all v1 packages were made for Linux so OS check works
 
1742
        - began to implement proxyftp, though it doesn't work yet
 
1743
        - fixed spacing when reporting dependency conflicts
 
1744
        - fixed bug where a long name (uname()) was mapping to itself
 
1745
 
 
1746
2.1.2 -> 2.2:
 
1747
        - don't fail, and do report, if -K can't find a PGP key
 
1748
        - handle file names with quotes and spaces when passed to ldd
 
1749
          (still can't have spaces in %files)
 
1750
        - do not allow Buildprefix: in sub packages
 
1751
        - removed require_group from rpmrc -- groups are always required
 
1752
        - removed arch_sensitive from rpmrc -- always on
 
1753
        - removed docdir from rpmrc -- always /usr/doc
 
1754
        - fixed nasty bug in installing packages with large filelists
 
1755
        - made -R work
 
1756
        - --provides and --requries don't print anything if no information
 
1757
          is present (rather then (none) )
 
1758
        - -qi prints Summary now
 
1759
        - changed Buildprefix: -> Buildroot: (spec file, rpmrc)
 
1760
                  --buildprefix -> --buildroot (command line)
 
1761
                  RPM_BUILD_PREFIX -> RPM_BUILD_ROOT
 
1762
                                        (%prep, %build, %install, %clean)
 
1763
          sorry :-)
 
1764
        - allow Prefix: for sub-packages
 
1765
        - allow packager: in rpmrc
 
1766
        - --arch and --os are now --buildarch and --buildos
 
1767
        - magic arch/os handling through arch_canon and os_canon
 
1768
          see /usr/lib/rpmrc (in short: uname short_name num)
 
1769
        - removed build_arch: from rpmrc
 
1770
          Replacing it is buildarchtranslate: and buildostranslate:
 
1771
          to allow building with arch/os other than what uname() returns.
 
1772
          Can still be overriden with --buildarch and --buildos
 
1773
        - rpmrc keywords are now case-insensitive
 
1774
        - check os at install time
 
1775
        - check return code from gzread() during installs
 
1776
        - implemented os_compat
 
1777
        - added arch_compat and os_compat information to --showrc (the
 
1778
          changes needed to do this removed any lingering questions about
 
1779
          the efficiency of the compat lookups for large tables or tables
 
1780
          with loops -- it should all work fine)
 
1781
        - made -u (--uninstall) exit with an error and not do anything
 
1782
        - added --ignoreos
 
1783
        - fixed error message given when a file is missing
 
1784
        - fixed hashing when multiple packages are being modified
 
1785
        - changed man page for readability (thanks to Joseph L. Hartmann, Jr)
 
1786
 
 
1787
2.1.1 -> 2.1.2:
 
1788
        - fixed error message for unrelocateable packages
 
1789
        - automatic shared lib provides now work with buildprefix
 
1790
        - fixed dependency checking during upgrades to work if the
 
1791
          package wasn't previously installed
 
1792
        - clean up temp file after signature check
 
1793
        - dependencies weren't looking through packages that were
 
1794
          being installed at the same time quite right
 
1795
 
 
1796
2.1 -> 2.1.1:
 
1797
        - fixed -qi query format 
 
1798
 
 
1799
2.0.11 -> 2.1:
 
1800
        - added --requires, --whatrequires, --provides and 
 
1801
          --whatprovides queries
 
1802
        - using a string array tag in a queryformat results in every
 
1803
          item in the string being printed out with spaces in between
 
1804
          (though this behaviour will probably go away shortly)
 
1805
        - all packages are ftp'd before any are installed (required to
 
1806
          do proper dependency checking)
 
1807
        - if only source packages are being installed, the database is
 
1808
          never opened
 
1809
        - automatic shared library require/provides tags generated
 
1810
        - added --nodeps flag for install and uninstall
 
1811
        - added dependency checking for installs and uninstalls
 
1812
        - misc fixes to compile with glibc
 
1813
        - use PGPPATH if set (and no pgp_path: in rpmrc)
 
1814
        - remove pgp_pubring, pgp_secring stuff
 
1815
        - new extensible signature
 
1816
        - signature section supports multiple signatures
 
1817
        - --addsign to add a signature to a package
 
1818
        - PGP key no longer limited to 1024 bits
 
1819
        - always do at least an MD5 "signature"
 
1820
          as a result, -K will always tell you something
 
1821
        - signatures now include a simple "header+archive size" check
 
1822
          just calling readSignature() checks this
 
1823
        - --nopgp (with -K) to skip PGP check, just do MD5
 
1824
        - allow '#' comments in preamble and %files section
 
1825
        - fixed -qsv to print both the states and the file information  
 
1826
        - added --dump option to query to print all file attributes
 
1827
        - installs with --root use the /etc/passwd and /etc/group from
 
1828
          the target directory
 
1829
        - added --initdb to aid in database initialization
 
1830
        - --queryformat can print items of type INT8
 
1831
        - "sourceless" packages with nosource: and nopatch:
 
1832
        - [] now allows interation through query formats
 
1833
        - '-' flag for query tags removed
 
1834
        - :date and :perms supported as query format specifiers
 
1835
        - new rpmrc entries "arch" and "os" to override
 
1836
        - --arch and --os on the command line to override
 
1837
        - arch and os are now strings in the package header
 
1838
        - added arch_compat handling in /etc/rpmrc
 
1839
        - added build_arch to /etc/rpmrc
 
1840
        - support arch as string
 
1841
        - added --ignorearch option
 
1842
        - Prefix: in spec file to specify default installation prefix
 
1843
        - rpmrc and command line may be used to override the path
 
1844
          used for the rpm database
 
1845
        - relocatable packages get installed properly
 
1846
        - added support for --prefix and RPM_INSTALL_PREFIX environemtn
 
1847
          variable
 
1848
        - added dependency checking for version numbers
 
1849
        - added correct dependency checking for upgrades
 
1850
        - added :depflags query format flag
 
1851
        - changes --provides, --requires, and --scripts queries to use
 
1852
          queryFormats
 
1853
 
 
1854
2.0.10 -> 2.0.11:
 
1855
        - fixed chmod(symlink) bug (since 2.0.9)
 
1856
 
 
1857
2.0.9 -> 2.0.10:
 
1858
        - fixed the fix to rpm -q <num> bug
 
1859
          to query by number you now need --querybynumber
 
1860
        - made arch_sensitive on by default
 
1861
        - handle # comments in preamble
 
1862
        - don't barf if we can't canonicalize the hostname during builds
 
1863
        - fixed --verify with --root
 
1864
 
 
1865
2.0.8 -> 2.0.9:
 
1866
        - %files -f <file>
 
1867
        - prelim Require/Provide handling
 
1868
        - prelim strict checking of spec file
 
1869
        - removed some bash-isms
 
1870
        - fixed globbing/root bug
 
1871
        - fixed rpm -q <num> bug
 
1872
        - fixed ftw() related bug where symlinks were being
 
1873
          followed in %files rather than just being noted!!
 
1874
        - pass "upgrade" arg to pre/post scripts when upgrading
 
1875
        - use PATH to find cpio when installing
 
1876
        - fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris
 
1877
        - added %attr(mode owner group) feature to file list
 
1878
        - fixed dumb %verify() parse bug
 
1879
 
 
1880
2.0.7 -> 2.0.8:
 
1881
        - explicitly turn off ASCII armor when running PGP
 
1882
        - fixed --noscripts logic, which was on by default and 
 
1883
          off if you specified it!
 
1884
        - uses a temp file to pass filenames to cpio in case when 
 
1885
          their are more then 500 filenames in a package
 
1886
        - added --rcfile
 
1887
        - fixed problem with $HOME/.rcfile not being read
 
1888
        - undocumented --search, --where, --keep-temps which
 
1889
          will probably won't be implemented in RPM 2.x anyway
 
1890
 
 
1891
2.0.6 -> 2.0.7:
 
1892
        - builds now set umask 022 for all scripts
 
1893
        - queries relative paths correctly (thanks to Johnie Stafford)
 
1894
        - fixed error codes for failed installs
 
1895
        - don't add NULL entry to group index for packages that don't
 
1896
          have group information, add it to the "Unknown" group instead
 
1897
        - added --scripts query option
 
1898
        - added --noscripts for installing and uninstall without using 
 
1899
          the pre/post scripts
 
1900
        - "rpm -qd" and "rpm -qc" work properly now (they didn't imply
 
1901
           -l before)
 
1902
 
 
1903
2.0.5 -> 2.0.6:
 
1904
        - internal changes to error messages
 
1905
 
 
1906
2.0.4 -> 2.0.5:
 
1907
        - added support for generic querying
 
1908
        - added --querytags option
 
1909
        - updated man page for above two
 
1910
        - short-circuit got added before 2.0.5, but I don't know when
 
1911
        - query and installs should now return 0 on success and nonzero
 
1912
          otherwise (rpm -i should return the number of packages that
 
1913
          failed actually)
 
1914
        - made rpm -qa fail if extra arguments are passed to it
 
1915
 
 
1916
2.0.3 -> 2.0.4:
 
1917
        - added support for PowerPC, and OSF mklinux ports
 
1918
        - added --resign
 
1919
        - added --recompile
 
1920
        - added verbose error messages from Tyson Sawyer
 
1921
        - rpmconvert won't overwrite an existing database
 
1922
        - won't core dump querying old format source packages
 
1923
        - freed minor memory leak
 
1924
        - more descriptive error messages during build
 
1925
        - added support for not installing documentation
 
1926
 
 
1927
2.0.2 -> 2.0.3:
 
1928
        - added support for 686, 786, 886, 986
 
1929
 
 
1930
2.0.1 -> 2.0.2:
 
1931
        - fixed ftp.c to return an error code when select timeouts
 
1932
        - added basic NLS support, along with a Sweedish message catalog
 
1933
          (thanks to Michael Nyquist)
 
1934
 
 
1935
2.0 -> 2.0.1:
 
1936
        - hashing and percentages no longer SIGFPE on 0 byte packages
 
1937
        - when an ftp fails, install.c no longer tries to install the package
 
1938
        - uses /var/tmp rather then /usr/tmp during for ftp space
 
1939
        - added debugging messages to ftp.c
 
1940
        - fixed some mistakes in the PGP section of the man page
 
1941
        - added mdfile prototype to rpmlib.h - the Python module wants this
 
1942
        - fixed struct oldrpmlead to align properly on the alpha
 
1943
 
 
1944
2.0     - everything done :-)
 
1945
 
 
1946
2.0b -> 2.0c:
 
1947
        - an incredible number of changes - I won't bother trying to 
 
1948
          list them
 
1949
 
 
1950
2.0a -> 2.0b:
 
1951
        - moved build stuff to main rpm command, though --rebuild is still
 
1952
          not supported
 
1953
        - install should work, although replaced files are not marked as
 
1954
          replaced
 
1955
        - %doc macro fixed
 
1956
        - --percent, --hash work for installs
 
1957
        - converted databases and packages get the file list in the correct
 
1958
          order now
 
1959
        - none of this is well tested
 
1960
        - rpms are output to proper dirs (which are always arch sensitive)
 
1961
        - basic rpmrc functions are implemented, full parsing is present
 
1962
        - changed error messages for missing files to include full path
 
1963
        - fixed detection of Alpha's
 
1964
 
 
1965
1.4.6 -> 2.0a:
 
1966
        - completely rewritten in C
 
1967
        - verification missing
 
1968
        - build functionality not in main rpm, in rpmbuild instead
 
1969
          (this will be corrected)
 
1970
        - an awful lot is still missing - this is an ALPHA release
 
1971
 
 
1972
1.4.5 -> 1.4.6:
 
1973
        - fixed rpmq problem with packages w/o groups (old RPM's would do this)
 
1974
        - fixed uninstalling with --root 
 
1975
 
 
1976
1.4.4 -> 1.4.5:
 
1977
        - added support for mips processors
 
1978
        - added support for osf1 and irix os's
 
1979
 
 
1980
1.4.3 -> 1.4.4:
 
1981
        - fixed bug in arch detection code which caused i386 failure
 
1982
 
 
1983
1.4.2 -> 1.4.3:
 
1984
        - added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures
 
1985
        - fixed sparc arch, added arch sanity check
 
1986
 
 
1987
1.4.1 -> 1.4.2:
 
1988
        - added --root to man page, usage, and help messages
 
1989
        - added a " " to the "Creating directory" debug message in install.pl
 
1990
        - make --rebuild fail on binary packages
 
1991
        - don't output prep/build/install sections if there aren't any
 
1992
 
 
1993
1.4 -> 1.4.1:
 
1994
        - fixed man page
 
1995
        - updated corruption messages to not mention --rebuild
 
1996
        - added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables
 
1997
          at build time
 
1998
        - no longer allows installing binary packages across architectures
 
1999
        - fixed handling of symlinks marked as config files
 
2000
 
 
2001
1.3.2 -> 1.4:
 
2002
        - make -v the default when using -b and --rebuild
 
2003
        - added %postbuild as an alias for %clean
 
2004
        - added gendiff
 
2005
        - added groups file installed in /usr/lib/rhs/rpm
 
2006
        - made usage message different and more concise then the --help message
 
2007
        - added --version option
 
2008
        - updated man page
 
2009
        - changed C build tree for concurrent building on multiple architectures
 
2010
 
 
2011
1.3.1 -> 1.3.2:
 
2012
        - add -b option to %patch
 
2013
        - fixed install/chroot temp file deleting
 
2014
 
 
2015
1.3 -> 1.3.1:
 
2016
        - fixed bug when doing md5 of erased config file during rpm -u
 
2017
        - fixed spec file searching
 
2018
 
 
2019
1.2 -> 1.3:
 
2020
        - added --search and --where options
 
2021
        - multiarchitecture support
 
2022
        - added --rebuild option
 
2023
        - started C rewrite - rpmq (query options only)
 
2024
 
 
2025
1.1 -> 1.2:
 
2026
        - preuninstalls weren't getting handled properly
 
2027
        - Alpha architecture is now recognized and builds are allowed
 
2028
        - the database open is checked for success before continuing
 
2029
        - rpm -b? checks the SPEC files for package names given as args