summaryrefslogtreecommitdiff
path: root/CHANGES
blob: cc589e277e62b57a4946247bf914a27e2bd3645c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
2.2.7 -> 2.2.8:
	- added --ftpproxy, --ftpport (and wrote about them in rpm.8)
	- added --nodeps to man page
	- added --showrc to man page
	- added conflict checking (use conflicts tag, which looks
	  just like the requires tag)
	- fixed RPM's return code when package removal fails
	- cleaned up lib/install.c a bit for readability
	- plugged a bunch of memory leaks thanks to mpr -- install,
	  uninstall, verify, and query all seem clean now
	- added support for trees shared over a network via netsharedpath
	  in rpmrc
	- don't exit when there is an unknown option in an rpmrc, just
	  give an error and continue

2.2.6 -> 2.2.7:
	- applied lots of portability patches
	- builds on Solaris machines now!
	- will build w/o i18n support if GNU gettext isn't installed
	- added inet_aton, setenv functions for libmisc
	- added Sun4c, Sun4m architectures
	- use vfork() if fork() doesn't exist (for AmigaOS)
	- look for GNU cpio, complain if it doesn't exist at build time
	- put path for GNU cpio in /usr/lib/librpmrc
	- install rpm.shared if rpm wasn't built (for Solaris)
	- readHeader() in librpm.a should work on sockets (which may
	  return partial reads)
	- package file query (-q -p) accepts ftp:// style URL's
	- if gzread returns 0 bytes (at EOF), don't call write w/ 0 byte
	  argument as it's behviour isn't portable
	- fixed -Vp behavior (doesn't seg fault w/ packages have dependencies)

2.2.5 -> 2.2.6:
	- added --rebuilddb to rebuild database, updated man page
	- fix fd leak in md5sum
	- fixed group cache bug

2.2.4 -> 2.2.5:
	- if rename() for moving .spec file from SOURCES to SPECS fails,
	  try copying it instead
	- -h and -v work for source package >= V2
	- -h output is much smoother now
	- new AutoReqProv: tag in spec file can disable automatic
          require/provide generation
	- fixed md5sum problem on big endian machines in a way that's
	  mostly backwards compatible; this hack will be removed someday
	- added :fflags tag
	- fixed a couple of minor memory leaks in lib/install.c
	- --test for building

2.2.3 -> 2.2.4:
	- only remove docdir if %doc occurs
	- allow -R to %patch
	- moved to use GNU autoconf, though it probably isn't perfect yet
	  (thanks Kristof Depraetere)
	- spec file sanity: no - chars in version or release,
	  must be a regular file :-)
	- version specifications for requirements can use "-<release number>"
	- default lib path, tmp path, topdir, and /usr/lib/rpmrc get set
	  by configure script relative to --prefix

2.2.2 -> 2.2.3:
	- fixed script file md5 checking when files are in a root
	- implemented proper strdup/free logic for dependency conflict
	  lists
	- strip leading directories from ldd output
	- fix non-null-terminated readlink() result
	- fixed sscanf() in ftp code to use proper types

2.2.1 -> 2.2.2:
	- added functionality to rpmlib to suggest resolutions for
	  dependency problems
	- fix stupid allocation problem in exclude/exclusive stuff
	- fix nasty bug where pointers in to the header were getting
	  stale after some realloc()s in addEntry()
	- ignore OS tag for v2 packages -- it was wrong anyway
	- match shared libs on ".so" rather than ".so."
	- skip blanks from objdump for auto-provide
	- if objdump gets us _end, provide the file name
	- do not ldd non-regular files
	- do not pass leading "/" to ldd
	- fix ExcludeOs: and ExclusiveOs:
	- -V verifies dependencies, can be controlled with --nodeps
	  and --nofiles
	- added information on --nodeps to usage messages
	- implement --timecheck and rpmrc timecheck:
	- implement -bl
	- catch duplicate files in file lists
	- some random sanity checking on the file list

2.2 -> 2.2.1:
	- made rpmRemovePackage() print message in verbose mode
	- added support for ftp://user:pass@machine.org/ URL's
	  during installation - the password will be prompted for
	  if only the user is given, and anonymous ftp will be used
	  it both user and password are omitted (as before)
	- Remove Exclusive: Exclude:
	  Replace with: ExclusiveArch: ExclusiveOs:
		        ExcludeArch: ExcludeOs:
	- fixed dependency cheking for packages that are installed
	  at the same time
	- fixed version number dependency checking
	- fixed problem installing v1 source packages (thanks to
	  Nikita Borisov)
	- fixed minor spelling/spacing problems (Nikita Borisov)
	- assume all v1 packages were made for Linux so OS check works
	- began to implement proxyftp, though it doesn't work yet
	- fixed spacing when reporting dependency conflicts
	- fixed bug where a long name (uname()) was mapping to itself

2.1.2 -> 2.2:
	- don't fail, and do report, if -K can't find a PGP key
	- handle file names with quotes and spaces when passed to ldd
	  (still can't have spaces in %files)
	- do not allow Buildprefix: in sub packages
	- removed require_group from rpmrc -- groups are always required
	- removed arch_sensitive from rpmrc -- always on
	- removed docdir from rpmrc -- always /usr/doc
	- fixed nasty bug in installing packages with large filelists
	- made -R work
	- --provides and --requries don't print anything if no information
	  is present (rather then (none) )
	- -qi prints Summary now
	- changed Buildprefix: -> Buildroot: (spec file, rpmrc)
		  --buildprefix -> --buildroot (command line)
		  RPM_BUILD_PREFIX -> RPM_BUILD_ROOT
					(%prep, %build, %install, %clean)
	  sorry :-)
	- allow Prefix: for sub-packages
	- allow packager: in rpmrc
	- --arch and --os are now --buildarch and --buildos
	- magic arch/os handling through arch_canon and os_canon
	  see /usr/lib/rpmrc (in short: uname short_name num)
	- removed build_arch: from rpmrc
	  Replacing it is buildarchtranslate: and buildostranslate:
	  to allow building with arch/os other than what uname() returns.
	  Can still be overriden with --buildarch and --buildos
	- rpmrc keywords are now case-insensitive
	- check os at install time
	- check return code from gzread() during installs
	- implemented os_compat
	- added arch_compat and os_compat information to --showrc (the
	  changes needed to do this removed any lingering questions about
	  the efficiency of the compat lookups for large tables or tables
	  with loops -- it should all work fine)
	- made -u (--uninstall) exit with an error and not do anything
	- added --ignoreos
	- fixed error message given when a file is missing
	- fixed hashing when multiple packages are being modified
	- changed man page for readability (thanks to Joseph L. Hartmann, Jr)

2.1.1 -> 2.1.2:
	- fixed error message for unrelocateable packages
        - automatic shared lib provides now work with buildprefix
	- fixed dependency checking during upgrades to work if the
	  package wasn't previously installed
	- clean up temp file after signature check
	- dependencies weren't looking through packages that were
	  being installed at the same time quite right

2.1 -> 2.1.1:
	- fixed -qi query format 

2.0.11 -> 2.1:
        - added --requires, --whatrequires, --provides and 
	  --whatprovides queries
	- using a string array tag in a queryformat results in every
	  item in the string being printed out with spaces in between
	  (though this behaviour will probably go away shortly)
	- all packages are ftp'd before any are installed (required to
	  do proper dependency checking)
	- if only source packages are being installed, the database is
	  never opened
	- automatic shared library require/provides tags generated
	- added --nodeps flag for install and uninstall
	- added dependency checking for installs and uninstalls
	- misc fixes to compile with glibc
	- use PGPPATH if set (and no pgp_path: in rpmrc)
	- remove pgp_pubring, pgp_secring stuff
	- new extensible signature
	- signature section supports multiple signatures
	- --addsign to add a signature to a package
	- PGP key no longer limited to 1024 bits
	- always do at least an MD5 "signature"
	  as a result, -K will always tell you something
	- signatures now include a simple "header+archive size" check
          just calling readSignature() checks this
	- --nopgp (with -K) to skip PGP check, just do MD5
	- allow '#' comments in preamble and %files section
	- fixed -qsv to print both the states and the file information	
	- added --dump option to query to print all file attributes
	- installs with --root use the /etc/passwd and /etc/group from
	  the target directory
	- added --initdb to aid in database initialization
	- --queryformat can print items of type INT8
	- "sourceless" packages with nosource: and nopatch:
	- [] now allows interation through query formats
	- '-' flag for query tags removed
	- :date and :perms supported as query format specifiers
	- new rpmrc entries "arch" and "os" to override
	- --arch and --os on the command line to override
	- arch and os are now strings in the package header
	- added arch_compat handling in /etc/rpmrc
	- added build_arch to /etc/rpmrc
	- support arch as string
	- added --ignorearch option
	- Prefix: in spec file to specify default installation prefix
	- rpmrc and command line may be used to override the path
	  used for the rpm database
	- relocatable packages get installed properly
	- added support for --prefix and RPM_INSTALL_PREFIX environemtn
	  variable
	- added dependency checking for version numbers
	- added correct dependency checking for upgrades
	- added :depflags query format flag
	- changes --provides, --requires, and --scripts queries to use
	  queryFormats

2.0.10 -> 2.0.11:
        - fixed chmod(symlink) bug (since 2.0.9)

2.0.9 -> 2.0.10:
	- fixed the fix to rpm -q <num> bug
	  to query by number you now need --querybynumber
	- made arch_sensitive on by default
	- handle # comments in preamble
	- don't barf if we can't canonicalize the hostname during builds
	- fixed --verify with --root

2.0.8 -> 2.0.9:
	- %files -f <file>
	- prelim Require/Provide handling
	- prelim strict checking of spec file
	- removed some bash-isms
	- fixed globbing/root bug
	- fixed rpm -q <num> bug
	- fixed ftw() related bug where symlinks were being
	  followed in %files rather than just being noted!!
	- pass "upgrade" arg to pre/post scripts when upgrading
	- use PATH to find cpio when installing
	- fixed rpm.magic, added sun4, mips, 68k, sgi, sunos, solaris
	- added %attr(mode owner group) feature to file list
	- fixed dumb %verify() parse bug

2.0.7 -> 2.0.8:
	- explicitly turn off ASCII armor when running PGP
	- fixed --noscripts logic, which was on by default and 
	  off if you specified it!
	- uses a temp file to pass filenames to cpio in case when 
	  their are more then 500 filenames in a package
	- added --rcfile
	- fixed problem with $HOME/.rcfile not being read
	- undocumented --search, --where, --keep-temps which
	  will probably won't be implemented in RPM 2.x anyway

2.0.6 -> 2.0.7:
        - builds now set umask 022 for all scripts
	- queries relative paths correctly (thanks to Johnie Stafford)
	- fixed error codes for failed installs
	- don't add NULL entry to group index for packages that don't
	  have group information, add it to the "Unknown" group instead
	- added --scripts query option
	- added --noscripts for installing and uninstall without using 
	  the pre/post scripts
	- "rpm -qd" and "rpm -qc" work properly now (they didn't imply
	   -l before)

2.0.5 -> 2.0.6:
	- internal changes to error messages

2.0.4 -> 2.0.5:
	- added support for generic querying
	- added --querytags option
	- updated man page for above two
	- short-circuit got added before 2.0.5, but I don't know when
	- query and installs should now return 0 on success and nonzero
	  otherwise (rpm -i should return the number of packages that
	  failed actually)
	- made rpm -qa fail if extra arguments are passed to it

2.0.3 -> 2.0.4:
	- added support for PowerPC, and OSF mklinux ports
	- added --resign
	- added --recompile
	- added verbose error messages from Tyson Sawyer
	- rpmconvert won't overwrite an existing database
	- won't core dump querying old format source packages
	- freed minor memory leak
	- more descriptive error messages during build
	- added support for not installing documentation

2.0.2 -> 2.0.3:
	- added support for 686, 786, 886, 986

2.0.1 -> 2.0.2:
	- fixed ftp.c to return an error code when select timeouts
	- added basic NLS support, along with a Sweedish message catalog
	  (thanks to Michael Nyquist)

2.0 -> 2.0.1:
	- hashing and percentages no longer SIGFPE on 0 byte packages
	- when an ftp fails, install.c no longer tries to install the package
	- uses /var/tmp rather then /usr/tmp during for ftp space
	- added debugging messages to ftp.c
	- fixed some mistakes in the PGP section of the man page
	- added mdfile prototype to rpmlib.h - the Python module wants this
	- fixed struct oldrpmlead to align properly on the alpha

2.0	- everything done :-)

2.0b -> 2.0c:
	- an incredible number of changes - I won't bother trying to 
	  list them

2.0a -> 2.0b:
	- moved build stuff to main rpm command, though --rebuild is still
	  not supported
	- install should work, although replaced files are not marked as
	  replaced
	- %doc macro fixed
	- --percent, --hash work for installs
	- converted databases and packages get the file list in the correct
	  order now
	- none of this is well tested
	- rpms are output to proper dirs (which are always arch sensitive)
	- basic rpmrc functions are implemented, full parsing is present
	- changed error messages for missing files to include full path
	- fixed detection of Alpha's

1.4.6 -> 2.0a:
	- completely rewritten in C
	- verification missing
	- build functionality not in main rpm, in rpmbuild instead
	  (this will be corrected)
	- an awful lot is still missing - this is an ALPHA release

1.4.5 -> 1.4.6:
	- fixed rpmq problem with packages w/o groups (old RPM's would do this)
	- fixed uninstalling with --root 

1.4.4 -> 1.4.5:
	- added support for mips processors
	- added support for osf1 and irix os's

1.4.3 -> 1.4.4:
	- fixed bug in arch detection code which caused i386 failure

1.4.2 -> 1.4.3:
	- added tokens for SPARC, MIPS, PowerPC, and 680x0 architectures
        - fixed sparc arch, added arch sanity check

1.4.1 -> 1.4.2:
	- added --root to man page, usage, and help messages
	- added a " " to the "Creating directory" debug message in install.pl
	- make --rebuild fail on binary packages
	- don't output prep/build/install sections if there aren't any

1.4 -> 1.4.1:
	- fixed man page
	- updated corruption messages to not mention --rebuild
	- added RPM_PACKAGE_VERSION and RPM_PACKAGE_RELEASE variables
	  at build time
	- no longer allows installing binary packages across architectures
	- fixed handling of symlinks marked as config files

1.3.2 -> 1.4:
	- make -v the default when using -b and --rebuild
	- added %postbuild as an alias for %clean
	- added gendiff
	- added groups file installed in /usr/lib/rhs/rpm
	- made usage message different and more concise then the --help message
	- added --version option
	- updated man page
	- changed C build tree for concurrent building on multiple architectures

1.3.1 -> 1.3.2:
	- add -b option to %patch
	- fixed install/chroot temp file deleting

1.3 -> 1.3.1:
	- fixed bug when doing md5 of erased config file during rpm -u
	- fixed spec file searching

1.2 -> 1.3:
	- added --search and --where options
	- multiarchitecture support
	- added --rebuild option
	- started C rewrite - rpmq (query options only)

1.1 -> 1.2:
	- preuninstalls weren't getting handled properly
	- Alpha architecture is now recognized and builds are allowed
	- the database open is checked for success before continuing
	- rpm -b? checks the SPEC files for package names given as args