-4.2 -> 4.3:
+4.2.2 -> 4.3:
- upgrade to zlib-1.2.beta7.
- fix: short option help missing string terminator.
- - unify signal handling in librpmio, use condvar to deliver signal.
- permit secondary tag match patterns with RPMQV_ALL.
- fix: cut-n-paste error setting nopromote for Conflicts: (#81965).
- don't use error string after gzclose (Dmitry V. Levin).
- only internal Berkeley db from now on.
- revive "make dist".
+
+4.2.1 -> 4.2.2:
+ - unify signal handling in librpmio, use condvar to deliver signal.
+ - make peace with libtool-1.5, autoconf-2.59, automake-1.8.
- build with db-4.2.52 internal.
- refresh bsddb.
+ - detect (and remove) dbenv files while upgrading to db-4.2.52.
+ - ensure that librpmdb links against just built, not system, librpmio.
+ - fix: dangling pointer brain fart (#107835).
4.2 -> 4.2.1:
- fix: nested %if handling, optind initialization posix vs. glibc.
%define version @VERSION@
Version: %{version}
%{expand: %%define rpm_version %{version}}
-Release: 0.2
+Release: 0.3
Group: System Environment/Base
Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/rpm-%{rpm_version}.tar.gz
License: GPL
%post
%ifos linux
/sbin/ldconfig
+
+# Establish correct rpmdb ownership.
/bin/chown @RPMUSER@.@RPMGROUP@ /var/lib/rpm/[A-Z]*
+
+# XXX Detect (and remove) incompatible dbenv files during db-4.2.52 upgrade.
+# XXX Removing dbenv files in %%post opens a lock race window, a tolerable
+# XXX risk compared to the support issues involved with upgrading Berkeley DB.
+[ -w /var/lib/rpm/__db.001 ] &&
+/usr/lib/rpm/rpmdb_stat -CA -h /var/lib/rpm 2>&1 |
+grep "db_stat: Program version 4.2 doesn't match environment version" 2>&1 > /dev/null &&
+ rm -f /var/lib/rpm/__db*
+
%endif
exit 0
%endif
%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/noarch*
+%rpmattr %{__prefix}/lib/rpm/rpmdb_deadlock
+%rpmattr %{__prefix}/lib/rpm/rpmdb_dump
+%rpmattr %{__prefix}/lib/rpm/rpmdb_load
+%rpmattr %{__prefix}/lib/rpm/rpmdb_loadcvt
+%rpmattr %{__prefix}/lib/rpm/rpmdb_svc
+%rpmattr %{__prefix}/lib/rpm/rpmdb_stat
+%rpmattr %{__prefix}/lib/rpm/rpmdb_verify
+%rpmattr %{__prefix}/lib/rpm/rpmfile
+
%lang(cs) %{__prefix}/*/locale/cs/LC_MESSAGES/rpm.mo
%lang(da) %{__prefix}/*/locale/da/LC_MESSAGES/rpm.mo
%lang(de) %{__prefix}/*/locale/de/LC_MESSAGES/rpm.mo
%{__mandir}/man8/rpmcache.8*
%{__mandir}/man8/rpmgraph.8*
%rpmattr %{__prefix}/lib/rpm/rpmcache
-%rpmattr %{__prefix}/lib/rpm/rpmdb_deadlock
-%rpmattr %{__prefix}/lib/rpm/rpmdb_dump
-%rpmattr %{__prefix}/lib/rpm/rpmdb_load
-%rpmattr %{__prefix}/lib/rpm/rpmdb_loadcvt
-%rpmattr %{__prefix}/lib/rpm/rpmdb_svc
-%rpmattr %{__prefix}/lib/rpm/rpmdb_stat
-%rpmattr %{__prefix}/lib/rpm/rpmdb_verify
-%rpmattr %{__prefix}/lib/rpm/rpmfile
%rpmattr %{__bindir}/rpmgraph
%files -n popt
%{__includedir}/popt.h
%changelog
+* Wed Dec 17 2003 Jeff Johnson <jbj@jbj.org> 4.2-0.3
+- detect (and remove) dbenv files while upgrading to db-4.2.52.
+- fix: dangling pointer brain fart (#107835).
+
* Sun Dec 7 2003 Jeff Johnson <jbj@jbj.org> 4.3-0.2
- only internal Berkeley db from now on.
- revive "make dist".
/*@-boundsread -branchstate -sizeoftype @*/
if (mi->mi_hdrchk && mi->mi_ts) {
rpmRC rpmrc = RPMRC_NOTFOUND;
- pbm_set * set = NULL;
/* Don't bother re-checking a previously read header. */
if (mi->mi_db->db_bits) {
- set = PBM_REALLOC((pbm_set **)&mi->mi_db->db_bits,
+ pbm_set * set = PBM_REALLOC((pbm_set **)&mi->mi_db->db_bits,
&mi->mi_db->db_nbits, mi->mi_offset);
if (PBM_ISSET(mi->mi_offset, set))
rpmrc = RPMRC_OK;
msg = _free(msg);
/* Mark header checked. */
- if (set && rpmrc == RPMRC_OK)
+ if (set && rpmrc == RPMRC_OK) {
+ pbm_set * set = PBM_REALLOC((pbm_set **)&mi->mi_db->db_bits,
+ &mi->mi_db->db_nbits, mi->mi_offset);
PBM_SET(mi->mi_offset, set);
+ }
/* Skip damaged and inconsistent headers. */
if (rpmrc == RPMRC_FAIL)