There rpm-4.1-0.56 packages available for testing at
ftp://ftp.rpm.org/pub/rpm/test-4.1
I've included source and binary packages compiled for all Red Hat
platforms.
All the packages are signed with the BETA-GPG-KEY, also present at the
above URL.
The point of this test release is to make a reference starting point
available
for testing on previous Red Hat platforms, and to get feedback on
non-linux
portability issues. Bug reports, comments, RFE's etc at
http://bugzilla.redhat.com
please. No testing at all has been done on the 7x/6x packages so far.
Since the previous rpm-4.1 test release, the following features have
been
added:
1) Header signatures and digests can (if configured) be verified when
retrieved from the rpm database. See /usr/lib/rpm/macros for comments
about how to configure %_vsflags_install et al macros.
Note: this is only mechanism, a better/configurable security policy
is gonna be needed in rpm somewhen soon. Suggestions/patches/audits
are
very much appreciated.
2) The rpm database permits concurrent access. That means that it is now
possible to run rpm in %post scriptlets.
Note: What still remains is to find out whether there are deadlocks
(there are), and whether the deadlocks can be avoided or otherwise
handled gracefully. I'd really like to support (at least read)
concurrent access to the rpm database, but it's gonna take a lot
of careful (i.e. reproducible) testing to achieve that goal. Any
and all help is appreciated. What's very promising is that the
problems are deadlocks, not segfaults, but reproducing deadlocks
is gonna be quite challenging.
3) The rpmdb-redhat package (which contains an "everything" rpm
database),
if installed, will be used to provide suggested solutions for
unresolved
dependencies. Try installing the rpmdb-redhat package from Raw Hide
if
interested.
4) /usr/lib/rpm/rpmcache has been added to the rpm-devel package.
rpmcache
can be used to create a custom rpm database to provide suggested
solutions
for unresolved dependencies. See rpmcache(8) for some hints about
how to
use.
5) /usr/bin/rpmgraph has been added to the rpm-devel package. rpmgrapgh
will generate dependsnecy graphs of packages for display by graphwiz.
See rpmgraph(8) for details. If nowhere else, there's a graphvix
source
rpm that can be compiled to display the output at
ftp://people.redhat.com/jbj/graphviz-1.7.14-1.src.rpm
There are several goals in rpm-4.1:
1) new, header-only, digital signatures and digests for packages.
2) verifying header signatures/digests when the header is read.
3) replacing the internal representation of headers with smaller data
structures to reduce memory footprint.
4) enriching and stabilizing the rpmlib API.
Both 3) and 4) are gonna be quite painful for developers, as the
entire rpmlib API has changed. What's good is that I can now expose
more of the internals of rpmlib more or less opaquely.
What's bad is that everything has changed. I'll be happy to answer
questions
or help with porting (assuming time available) as needed.