%define with_python_subpackage @WITH_PYTHON_SUBPACKAGE@%{nil} %define with_python_version @WITH_PYTHON_VERSION@%{nil} %define with_perl_subpackage 0 %define with_bzip2 @WITH_BZIP2@%{nil} %define with_apidocs @WITH_APIDOCS@%{nil} %define with_internal_db @WITH_INTERNAL_DB@%{nil} %define strip_binaries 0 # XXX legacy requires './' payload prefix to be omitted from rpm packages. %define _noPayloadPrefix 1 %define __prefix /usr %{expand: %%define __share %(if [ -d %{__prefix}/share/man ]; then echo /share ; else echo %%{nil} ; fi)} Summary: The RPM package management system. Name: rpm %define version @VERSION@ Version: %{version} %{expand: %%define rpm_version %{version}} Release: 0.71 Group: System Environment/Base Source: ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/rpm-%{rpm_version}.tar.gz Copyright: GPL Conflicts: patch < 2.5 %ifos linux Prereq: gawk fileutils textutils mktemp shadow-utils %endif Requires: popt = 1.7 Obsoletes: rpm-perl < %{version} %if !%{with_internal_db} BuildRequires: db3-devel # XXX glibc-2.1.92 has incompatible locale changes that affect statically # XXX linked binaries like /bin/rpm. %ifnarch ia64 Requires: glibc >= 2.1.92 %endif %endif BuildRequires: zlib-devel # XXX Red Hat 5.2 has not bzip2 or python %if %{with_bzip2} BuildRequires: bzip2 >= 0.9.0c-2 %endif %if %{with_python_subpackage} BuildRequires: python-devel >= %{with_python_version} %endif %if %{with_perl_subpackage} BuildRequires: perl >= 0:5.00503 %endif BuildRoot: %{_tmppath}/%{name}-root %description The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating software packages. Each software package consists of an archive of files along with information about the package like its version, a description, etc. %package devel Summary: Development files for manipulating RPM packages. Group: Development/Libraries Requires: rpm = %{rpm_version}, popt = 1.7 %description devel This package contains the RPM C library and header files. These development files will simplify the process of writing programs that manipulate RPM packages and databases. These files are intended to simplify the process of creating graphical package managers or any other tools that need an intimate knowledge of RPM packages in order to function. This package should be installed if you want to develop programs that will manipulate RPM packages and databases. %package build Summary: Scripts and executable programs used to build packages. Group: Development/Tools Requires: rpm = %{rpm_version}, patch >= 2.5, file Provides: rpmbuild(VendorConfig) = %{version} %description build The rpm-build package contains the scripts and executable programs that are used to build packages using the RPM Package Manager. %if %{with_python_subpackage} %package python Summary: Python bindings for apps which will manipulate RPM packages. Group: Development/Libraries Requires: rpm = %{rpm_version} Requires: python >= %{with_python_version} Requires: popt = 1.7 %description python The rpm-python package contains a module that permits applications written in the Python programming language to use the interface supplied by RPM Package Manager libraries. This package should be installed if you want to develop Python programs that will manipulate RPM packages and databases. %endif %if %{with_perl_subpackage} %package perl Summary: Native bindings to the RPM API for Perl. Group: Development/Languages URL: http://www.cpan.org Provides: perl(RPM::Database) = %{rpm_version} Provides: perl(RPM::Header) = %{rpm_version} Requires: rpm = %{rpm_version} Requires: perl >= 0:5.00503 Requires: popt = 1.7 Obsoletes: perl-Perl-RPM %description perl The Perl-RPM module is an attempt to provide Perl-level access to the complete application programming interface that is a part of the Red Hat Package Manager (RPM). Rather than have scripts rely on executing RPM commands and parse the resulting output, this module aims to give Perl programmers the ability to do anything that would otherwise have been done in C or C++. The interface is being designed and laid out as a collection of classes, at least some of which are also available as tied-hash implementations. At this time, the interface only provides access to the database of installed packages, and header data retrieval for RPM and SRPM files is not yet installed. Error management and the export of most defined constants, through RPM::Error and RPM::Constants, respectively, are also available. %endif %package -n popt Summary: A C library for parsing command line parameters. Group: Development/Libraries Version: 1.7 %description -n popt Popt is a C library for parsing command line parameters. Popt was heavily influenced by the getopt() and getopt_long() functions, but it improves on them by allowing more powerful argument expansion. Popt can parse arbitrary argv[] style arrays and automatically set variables based on command line arguments. Popt allows command line arguments to be aliased via configuration files and includes utility functions for parsing arbitrary strings into argv[] arrays using shell-like rules. %prep %setup -q %build %ifos linux CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{__prefix} --sysconfdir=/etc --localstatedir=/var --infodir='${prefix}%{__share}/info' --mandir='${prefix}%{__share}/man' --with-python=%{with_python_version} --without-javaglue %else CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{__prefix} %endif # XXX workaround ia64 gcc-3.1-0.18 miscompilation %ifarch ia64 make CFLAGS="-g -O0 -DIA64_SUCKS_ROCKS" files.o files.lo -C build %endif make %if %{with_perl_subpackage} { cd Perl-RPM CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL RPM_BUILD=1 export SUBDIR="%{_builddir}/%{buildsubdir}" make INC="-I. -I$SUBDIR/lib -I$SUBDIR/rpmdb -I$SUBDIR/rpmio -I$SUBDIR/popt" \ LDDLFLAGS="-shared -L$SUBDIR/lib/.libs -L$SUBDIR/rpmdb/.libs -L$SUBDIR/rpmio/.libs -L$SUBDIR/popt/.libs" %{?_smp_mflags} } %endif %install rm -rf $RPM_BUILD_ROOT make DESTDIR="$RPM_BUILD_ROOT" install %ifos linux # Save list of packages through cron mkdir -p ${RPM_BUILD_ROOT}/etc/cron.daily install -m 755 scripts/rpm.daily ${RPM_BUILD_ROOT}/etc/cron.daily/rpm mkdir -p ${RPM_BUILD_ROOT}/etc/logrotate.d install -m 644 scripts/rpm.log ${RPM_BUILD_ROOT}/etc/logrotate.d/rpm mkdir -p $RPM_BUILD_ROOT/etc/rpm mkdir -p $RPM_BUILD_ROOT/var/lib/rpm for dbi in \ Basenames Conflictname Dirnames Group Installtid Name Providename \ Provideversion Removetid Requirename Requireversion Triggername \ Sigmd5 Sha1header Filemd5s Packages \ __db.001 __db.002 __db.003 __db.004 __db.005 __db.006 __db.007 \ __db.008 __db.009 do touch $RPM_BUILD_ROOT/var/lib/rpm/$dbi done %endif %if %{with_apidocs} gzip -9n apidocs/man/man*/* || : %endif %if %{with_perl_subpackage} { cd Perl-RPM eval `perl '-V:installsitearch'` eval `perl '-V:installarchlib'` mkdir -p $RPM_BUILD_ROOT/$installarchlib make PREFIX=${RPM_BUILD_ROOT}%{__prefix} \ INSTALLMAN1DIR=${RPM_BUILD_ROOT}%{__prefix}%{__share}/man/man1 \ INSTALLMAN3DIR=${RPM_BUILD_ROOT}%{__prefix}%{__share}/man/man3 \ install rm -f $RPM_BUILD_ROOT/$installarchlib/perllocal.pod rm -f $RPM_BUILD_ROOT/$installsitearch/auto/RPM/.packlist cd .. } %endif %if %{strip_binaries} { cd $RPM_BUILD_ROOT %{__strip} ./bin/rpm %{__strip} .%{__prefix}/bin/rpm2cpio } %endif %clean rm -rf $RPM_BUILD_ROOT %pre %ifos linux if [ -f /var/lib/rpm/packages.rpm ]; then echo " You have (unsupported) /var/lib/rpm/packages.rpm db1 format installed package headers Please install rpm-4.0.4 first, and do rpm --rebuilddb to convert your database from db1 to db3 format. " exit 1 fi /usr/sbin/groupadd -g 37 @RPMGROUP@ > /dev/null 2>&1 /usr/sbin/useradd -r -d /var/lib/rpm -u 37 -g 37 @RPMUSER@ > /dev/null 2>&1 %endif exit 0 %post %ifos linux /sbin/ldconfig /bin/chown @RPMUSER@.@RPMGROUP@ /var/lib/rpm/[A-Z]* %endif exit 0 %ifos linux %postun /sbin/ldconfig if [ $1 = 0 ]; then /usr/sbin/userdel rpm /usr/sbin/groupdel rpm fi %post devel -p /sbin/ldconfig %postun devel -p /sbin/ldconfig %post -n popt -p /sbin/ldconfig %postun -n popt -p /sbin/ldconfig %endif %if %{with_python_subpackage} %post python -p /sbin/ldconfig %postun python -p /sbin/ldconfig %endif %define rpmattr %attr(0755, @RPMUSER@, @RPMGROUP@) %files %defattr(-,root,root) %doc RPM-PGP-KEY RPM-GPG-KEY CHANGES GROUPS doc/manual/[a-z]* %attr(0755, @RPMUSER@, @RPMGROUP@) /bin/rpm %ifos linux %config(noreplace,missingok) /etc/cron.daily/rpm %config(noreplace,missingok) /etc/logrotate.d/rpm %dir /etc/rpm #%config(noreplace,missingok) /etc/rpm/macros.* %attr(0755, @RPMUSER@, @RPMGROUP@) %dir /var/lib/rpm %define rpmdbattr %attr(0644, @RPMUSER@, @RPMGROUP@) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %rpmdbattr /var/lib/rpm/Basenames %rpmdbattr /var/lib/rpm/Conflictname %rpmdbattr /var/lib/rpm/__db.0* %rpmdbattr /var/lib/rpm/Dirnames %rpmdbattr /var/lib/rpm/Filemd5s %rpmdbattr /var/lib/rpm/Group %rpmdbattr /var/lib/rpm/Installtid %rpmdbattr /var/lib/rpm/Name %rpmdbattr /var/lib/rpm/Packages %rpmdbattr /var/lib/rpm/Providename %rpmdbattr /var/lib/rpm/Provideversion %rpmdbattr /var/lib/rpm/Removetid %rpmdbattr /var/lib/rpm/Requirename %rpmdbattr /var/lib/rpm/Requireversion %rpmdbattr /var/lib/rpm/Sigmd5 %rpmdbattr /var/lib/rpm/Sha1header %rpmdbattr /var/lib/rpm/Triggername %endif %rpmattr %{__prefix}/bin/rpm2cpio %rpmattr %{__prefix}/bin/gendiff %rpmattr %{__prefix}/bin/rpmdb #%rpmattr %{__prefix}/bin/rpm[eiu] %rpmattr %{__prefix}/bin/rpmsign %rpmattr %{__prefix}/bin/rpmquery %rpmattr %{__prefix}/bin/rpmverify %{__prefix}/lib/librpm-@VERSION@.so %{__prefix}/lib/librpmdb-@VERSION@.so %{__prefix}/lib/librpmio-@VERSION@.so %{__prefix}/lib/librpmbuild-@VERSION@.so %attr(0755, @RPMUSER@, @RPMGROUP@) %dir %{__prefix}/lib/rpm %rpmattr %{__prefix}/lib/rpm/config.guess %rpmattr %{__prefix}/lib/rpm/config.sub %rpmattr %{__prefix}/lib/rpm/convertrpmrc.sh %attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/macros %rpmattr %{__prefix}/lib/rpm/mkinstalldirs %rpmattr %{__prefix}/lib/rpm/rpm.* %rpmattr %{__prefix}/lib/rpm/rpm2cpio.sh %rpmattr %{__prefix}/lib/rpm/rpm[deiukqv] %rpmattr %{__prefix}/lib/rpm/tgpg %attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/rpmpopt* %attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/rpmrc %ifarch i386 i486 i586 i686 athlon %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/i[3456]86* %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/athlon* %endif %ifarch alpha alphaev5 alphaev56 alphapca56 alphaev6 alphaev67 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/alpha* %endif %ifarch sparc sparcv9 sparc64 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/sparc* %endif %ifarch ia64 %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/ia64* %endif %ifarch powerpc ppc ppciseries ppcpseries ppcmac %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/ppc* %endif %ifarch s390 s390x %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/s390* %endif %ifarch armv3l armv4l %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/armv[34][lb]* %endif %ifarch mips mipsel %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/mips* %endif %attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/noarch* #%attr(-, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/@RPMCANONVENDOR@ %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 %lang(fi) %{__prefix}/*/locale/fi/LC_MESSAGES/rpm.mo %lang(fr) %{__prefix}/*/locale/fr/LC_MESSAGES/rpm.mo %lang(is) %{__prefix}/*/locale/is/LC_MESSAGES/rpm.mo %lang(ja) %{__prefix}/*/locale/ja/LC_MESSAGES/rpm.mo %lang(ko) %{__prefix}/*/locale/ko/LC_MESSAGES/rpm.mo %lang(no) %{__prefix}/*/locale/no/LC_MESSAGES/rpm.mo %lang(pl) %{__prefix}/*/locale/pl/LC_MESSAGES/rpm.mo %lang(pt) %{__prefix}/*/locale/pt/LC_MESSAGES/rpm.mo %lang(pt_BR) %{__prefix}/*/locale/pt_BR/LC_MESSAGES/rpm.mo %lang(ro) %{__prefix}/*/locale/ro/LC_MESSAGES/rpm.mo %lang(ru) %{__prefix}/*/locale/ru/LC_MESSAGES/rpm.mo %lang(sk) %{__prefix}/*/locale/sk/LC_MESSAGES/rpm.mo %lang(sl) %{__prefix}/*/locale/sl/LC_MESSAGES/rpm.mo %lang(sr) %{__prefix}/*/locale/sr/LC_MESSAGES/rpm.mo %lang(sv) %{__prefix}/*/locale/sv/LC_MESSAGES/rpm.mo %lang(tr) %{__prefix}/*/locale/tr/LC_MESSAGES/rpm.mo %{__prefix}%{__share}/man/man1/gendiff.1* %{__prefix}%{__share}/man/man8/rpm.8* %{__prefix}%{__share}/man/man8/rpm2cpio.8* #%lang(fr) %{__prefix}%{__share}/man/fr/man[18]/*.[18]* %lang(ja) %{__prefix}%{__share}/man/ja/man[18]/*.[18]* #%lang(ko) %{__prefix}%{__share}/man/ko/man[18]/*.[18]* %lang(pl) %{__prefix}%{__share}/man/pl/man[18]/*.[18]* %lang(ru) %{__prefix}%{__share}/man/ru/man[18]/*.[18]* %lang(sk) %{__prefix}%{__share}/man/sk/man[18]/*.[18]* %files build %defattr(-,root,root) %dir %{__prefix}/src/@RPMCANONVENDOR@ %dir %{__prefix}/src/@RPMCANONVENDOR@/BUILD %dir %{__prefix}/src/@RPMCANONVENDOR@/SPECS %dir %{__prefix}/src/@RPMCANONVENDOR@/SOURCES %dir %{__prefix}/src/@RPMCANONVENDOR@/SRPMS %dir %{__prefix}/src/@RPMCANONVENDOR@/RPMS %{__prefix}/src/@RPMCANONVENDOR@/RPMS/* %rpmattr %{__prefix}/bin/rpmbuild %rpmattr %{__prefix}/lib/rpm/brp-* %rpmattr %{__prefix}/lib/rpm/check-files %rpmattr %{__prefix}/lib/rpm/check-prereqs %rpmattr %{__prefix}/lib/rpm/config.site #%rpmattr %{__prefix}/lib/rpm/cpanflute #%rpmattr %{__prefix}/lib/rpm/cpanflute2 %rpmattr %{__prefix}/lib/rpm/cross-build %rpmattr %{__prefix}/lib/rpm/find-lang.sh %rpmattr %{__prefix}/lib/rpm/find-prov.pl %rpmattr %{__prefix}/lib/rpm/find-provides %rpmattr %{__prefix}/lib/rpm/find-provides.perl %rpmattr %{__prefix}/lib/rpm/find-req.pl %rpmattr %{__prefix}/lib/rpm/find-requires %rpmattr %{__prefix}/lib/rpm/find-requires.perl %rpmattr %{__prefix}/lib/rpm/get_magic.pl %rpmattr %{__prefix}/lib/rpm/getpo.sh %rpmattr %{__prefix}/lib/rpm/http.req %rpmattr %{__prefix}/lib/rpm/javadeps %rpmattr %{__prefix}/lib/rpm/magic.prov %rpmattr %{__prefix}/lib/rpm/magic.req %rpmattr %{__prefix}/lib/rpm/perl.prov #%rpmattr %{__prefix}/lib/rpm/Specfile.pm # XXX remove executable bit to disable autogenerated perl requires for now. %rpmattr %{__prefix}/lib/rpm/perl.req #%attr(0644, @RPMUSER@, @RPMGROUP@) %{__prefix}/lib/rpm/perl.req %rpmattr %{__prefix}/lib/rpm/rpm[bt] #%rpmattr %{__prefix}/lib/rpm/rpmdiff #%rpmattr %{__prefix}/lib/rpm/rpmdiff.cgi %rpmattr %{__prefix}/lib/rpm/trpm %rpmattr %{__prefix}/lib/rpm/u_pkg.sh %rpmattr %{__prefix}/lib/rpm/vpkg-provides.sh %rpmattr %{__prefix}/lib/rpm/vpkg-provides2.sh %{__prefix}%{__share}/man/man8/rpmbuild.8* %if %{with_python_subpackage} %files python %defattr(-,root,root) %{__prefix}/lib/python%{with_python_version}/site-packages/rpmmodule.so #%{__prefix}/lib/python%{with_python_version}/site-packages/poptmodule.so %{__prefix}/lib/python%{with_python_version}/site-packages/rpmdb %endif %if %{with_perl_subpackage} %files perl %defattr(-,root,root) %rpmattr %{__prefix}/bin/rpmprune %{perl_sitearch}/auto/* %{perl_sitearch}/RPM %{perl_sitearch}/RPM.pm %{__prefix}%{__share}/man/man1/rpmprune.1* %{__prefix}%{__share}/man/man3/RPM* %endif %files devel %defattr(-,root,root) %if %{with_apidocs} %doc @WITH_APIDOCS_TARGET@ %endif %{__prefix}/include/rpm %{__prefix}/lib/librpm.a %{__prefix}/lib/librpm.la %{__prefix}/lib/librpm.so %{__prefix}/lib/librpmdb.a %{__prefix}/lib/librpmdb.la %{__prefix}/lib/librpmdb.so %{__prefix}/lib/librpmio.a %{__prefix}/lib/librpmio.la %{__prefix}/lib/librpmio.so %{__prefix}/lib/librpmbuild.a %{__prefix}/lib/librpmbuild.la %{__prefix}/lib/librpmbuild.so %{__prefix}%{__share}/man/man8/rpmcache.8* %{__prefix}%{__share}/man/man8/rpmgraph.8* %rpmattr %{__prefix}/lib/rpm/rpmcache %rpmattr %{__prefix}/bin/rpmgraph %files -n popt %defattr(-,root,root) %{__prefix}/lib/libpopt.so.* %{__prefix}%{__share}/man/man3/popt.3* %lang(cs) %{__prefix}/*/locale/cs/LC_MESSAGES/popt.mo %lang(da) %{__prefix}/*/locale/da/LC_MESSAGES/popt.mo %lang(gl) %{__prefix}/*/locale/gl/LC_MESSAGES/popt.mo %lang(hu) %{__prefix}/*/locale/hu/LC_MESSAGES/popt.mo %lang(is) %{__prefix}/*/locale/is/LC_MESSAGES/popt.mo %lang(ko) %{__prefix}/*/locale/ko/LC_MESSAGES/popt.mo %lang(no) %{__prefix}/*/locale/no/LC_MESSAGES/popt.mo %lang(pt) %{__prefix}/*/locale/pt/LC_MESSAGES/popt.mo %lang(ro) %{__prefix}/*/locale/ro/LC_MESSAGES/popt.mo %lang(ru) %{__prefix}/*/locale/ru/LC_MESSAGES/popt.mo %lang(sk) %{__prefix}/*/locale/sk/LC_MESSAGES/popt.mo %lang(sl) %{__prefix}/*/locale/sl/LC_MESSAGES/popt.mo %lang(sv) %{__prefix}/*/locale/sv/LC_MESSAGES/popt.mo %lang(tr) %{__prefix}/*/locale/tr/LC_MESSAGES/popt.mo %lang(uk) %{__prefix}/*/locale/uk/LC_MESSAGES/popt.mo %lang(wa) %{__prefix}/*/locale/wa/LC_MESSAGES/popt.mo %lang(zh_CN) %{__prefix}/*/locale/zh_CN.GB2312/LC_MESSAGES/popt.mo # XXX These may end up in popt-devel but it hardly seems worth the effort now. %{__prefix}/lib/libpopt.a %{__prefix}/lib/libpopt.la %{__prefix}/lib/libpopt.so %{__prefix}/include/popt.h %changelog * Mon Aug 5 2002 Jeff Johnson 4.1-0.71 - python: bare bones rollback bindings. - python: enable threads on callbacks and longish rpmlib calls. - python: expose RPMTAG_SOURCEPACKAGE to identify source headers. - python: eliminate headerFromPackage() tuple return, deprecated. - python: add ts.hdrFromFdno(fdno) method. - fix: check for lead magic, better error message on failure (#69751). * Sun Aug 4 2002 Jeff Johnson 4.1-0.68 - resurrect --rollback. - renumber the callback types to be an orthogonal bit mask. - provide repackage progress callbacks, compression is slow. - fix: don't repackage %%ghost files. - add --predefine to define macros before reading macro configuration. * Fri Aug 2 2002 Jeff Johnson 4.1-0.67 - fix: identify athlon with 3DNOWEXT as "athlon", not "i786" (#70539). - fix: repair --root with --verify (#70527). - fix: signed pubkeys were imported incorrectly (#68291). - include tgpg script to verify signatures using only gpg. - check header blobs on export (i.e. rpmdbAdd()).. - enable iterator header blob checks for install/erase modes. - python: _vsflags_up2date macro to configure verify signature flags. * Thu Aug 1 2002 Jeff Johnson 4.1-0.63 - add check-files to rpm-build manifest. - python: methods to disable all new features for benchmarking. - preserve rpmdb file attributes across --rebuilddb (#70367). * Wed Jul 31 2002 Jeff Johnson 4.1-0.62 - make --querytags a common option, fix errant regex (#70135). - db3: increase mpool and cachesize, compile w/o --enable-debug. - configurable (default off) build failure if missing %%doc files (PLD). - configurable (default off) build failure iff unpackaged files (PLD). - change from default off to default on. * Tue Jul 30 2002 Jeff Johnson 4.1-0.59 - prevent stale locks in __db files by closing databases on signals. * Mon Jul 29 2002 Jeff Johnson 4.1-0.58 - popt: display sub-table options only once on --usage. - wire --nosignatures et al as common options, rework CLI options. - python: don't segfault in ts.GetKeys() on erased packages. - update trpm. - factor all mode-specific options into mode-specific tables. - treat an unspecified epoch as Epoch: 0 everywhere. * Thu Jul 25 2002 Jeff Johnson 4.1-0.57 - python: remove the old initdb/rebuilddb methods, use ts.fooDB(). - python: 1st crack at backport to 1.5.2. - popt: fix --usage (#62234). - fix: --repackage repaired (#67217). - fix: rpm2cpio disables signature checks (i.e. same behavior). * Wed Jul 24 2002 Jeff Johnson 4.1-0.55 - imbue %ghost with missingok attribute with --verify (#68933). - fix: segfault if given a text file as 2nd arg to -Uvh (#69508). - python: add ts.hdrCheck(), ts.rebuildDB() methods. - python: iterating on an ts object returns transaction elements now. -add yellowdog as vendor. * Tue Jul 23 2002 Jeff Johnson 4.1-0.53 - verify signatures/digests retrieved through rpmdbNextIterator(). * Sun Jul 21 2002 Jeff Johnson 4.1-0.52 - add methods to make signature handling opaque wrto rpmts. * Sat Jul 20 2002 Jeff Johnson 4.1-0.51 - popt: parse file into string of options (#56860). - version added to *.la dependency libraries (#69063). - expose digests in rpmio API, but hide internal beecrypt API (#68999). * Mon Jul 15 2002 Jeff Johnson 4.1-0.50 - have rpmdb-redhat autoconfigure rpm to use %%_solve_dbpath. * Sun Jul 14 2002 Jeff Johnson 4.1-0.49 - python: sanity check fixes on rpmts/rpmte methods. * Sat Jul 13 2002 Jeff Johnson 4.1-0.48 - install rpmal.h and rpmhash.h, implicit rpmps.hinclude, for now. - revert headerFree/headerLink/headerUnlink debugging. - popt: mingw32 portability configure check (#67911). - teach gendiff about unreadable files (#42666). * Fri Jul 12 2002 Jeff Johnson 4.1-0.47 - display signature details using rpm -qi. - skip signing packages already signed with same key (#62118). * Thu Jul 11 2002 Jeff Johnson 4.1-0.45 - placeholders for manifest constants for SuSE patch packages. - fix: repair 2ndary match criteria with rpmdb iterators. - update for sv.po. * Sat Jul 6 2002 Jeff Johnson 4.1-0.43 - fix: permit deletions of added packages (#67108). * Fri Jul 5 2002 Jeff Johnson 4,1-0.42 - fix: do lazy open of database in rpmtsInitDB() (#67994). - update rpmcache.8. * Thu Jul 4 2002 Jeff Johnson 4.1-0.40 - fix: forgot lazy open of database on --freshen path (#67907). - proof-of-concept rpmcache functionality. * Wed Jul 3 2002 Jeff Johnson 4.1-0.39 - use rpmfi in showQueryPackage(), eliminating headerGetEntry(). * Sun Jun 30 2002 Jeff Johnson 4.1-0.38 - turn off annoying gpg secmem warning. - warn only once for each NOKEY/UNTRUSTED key id. - factor common options into table, add rpmcliInit() and rpmcliFini(). - add preliminary rpmgraph(8) and rpmcache(8) executables to rpm-devel. * Fri Jun 28 2002 Jeff Johnson 4.1-0.36 - fix: multiple relocations (#67596). - add --build/--program-prefix, delete libtoolize, from %%configure. - find-lang.sh: make sure that mo pattern matches leading '/' (#67368). - disambiguate added/installed dependency failures (#50388). - rescusitate remote ftp globs (#67678). - open rpmdb early RDONLY, reopen later RDWR, avoid signed srpm noise. * Thu Jun 27 2002 Jeff Johnson 4.1-0.33 - use rpmdb-redhat for suggestions if/when configured (#67430). - disambiguate failures to import (with error messages, duh). * Mon Jun 24 2002 Jeff Johnson 4.1-0.32 - python: link internal libelf (if used) directly into rpmmodule.so. * Fri Jun 21 2002 Jeff Johnson 4.1-0.31 - fix: reading macro files can corrupt memory if BUFSIZ is teensy. - fix: assertion failure iff incomplete package install (#66837). * Thu Jun 20 2002 Jeff Johnson 4.1-0.29 - add translated man pages from PLD. - resurrect libelf with Elf64, prelink verify should work everywhere. * Wed Jun 19 2002 Jeff Johnson 4.1-0.28 - ix86: make sure that rpm can verify prelinked shared libraries. - don't install /usr/lib/rpm/redhat per-vendor configuration anymore. * Sat Jun 15 2002 Jeff Johnson 4.1-0.27 - beecrypt: merge changes from beecrypt-2.3.0. - beecrypt: merge doxygen markup with rpmapi doco. - beecrypt: revert cpu/arch compile option mixup (#66752). * Wed Jun 12 2002 Jeff Johnson 4.1-0.26 - fix: separate existence and number checks for problems found (#66552). * Mon Jun 10 2002 Jeff Johnson 4.1-0.25 - document digital signature verification in rpm.8. * Sun Jun 9 2002 Jeff Johnson 4.1-0.24 - add /usr/lib/rpm/redhat/* per-vendor configuration. - remove build mode compatibility aliases, documented and gone. * Wed Jun 5 2002 Jeff Johnson 4.1-0.23 - python: portability fiddles (#54350). - check inodes (but not blocks) on FAT file systems (#64256). * Tue Jun 4 2002 Jeff Johnson 4.1-0.22 - use /etc/rpm/platform (if it exists), rather than uname(2), for arch. * Mon Jun 3 2002 Jeff Johnson 4.1-0.21 - python: include rpmdb module, renamed from bsddb3. * Sat Jun 1 2002 Jeff Johnson 4.1-0.20 - fix: use getgrnam, not getpwnam, to convert gid -> group. - fix: avoid sign extension, use only 16 bits, when verifying rdev. - python: separate {add,del}Macro methods, prepare for macro dictionary. - i18n: copy current production PO files to top-of-stack. * Tue May 28 2002 Jeff Johnson 4.1-0.19 - python: add rpmal/rpmte/rpmfd methods to bindings. - perl: drop cpanflute and cpanflute2, will be in Chip's CPAN package. - python: eliminate legacy db methods, add ts.dbMatch method. * Sun May 26 2002 Jeff Johnson 4.1-0.17 - fix: un-resurrect "()(64bit)" markings using objdump on i386. * Fri May 24 2002 Jeff Johnson 4.1-0.16 - python: add rpmds/rpmfi/rpmts methods. - python: re-enable rpm-python sub-package. - fix: resurrect "()(64bit)" markings using objdump. * Sun May 19 2002 Jeff Johnson 4.1-0.15 - Grand Renaming of rpm data types. - fix: synthesize unpacking progress callbacks for packages w/o files. * Thu May 16 2002 Jeff Johnson 4.1-0.14 - opaque (well mostly) rpmTransactionSet using methods. * Mon May 6 2002 Jeff Johnson 4.1-0.13 - rework most of rpmdb.c prepatory to implementing duplicates. - fix: 2 memory leaks in headerSprintf. - fix: db mire's access out-of-bounds memory. - plug most install mode leaks. * Fri May 3 2002 Jeff Johnson 4.1-0.12 - use DBT_DB_MALLOC to eliminate re-malloc'ing header blobs. * Thu May 2 2002 Jeff Johnson 4.1-0.11 - eliminate db1 support. - enable CDB by default. * Wed May 1 2002 Jeff Johnson 4.1-0.10 - attempt to make peace with automake-1.6.1, autoconf-2.53. - rip out two layers of dbN gook, internal Berkeley db is here to stay. * Fri Apr 19 2002 Jeff Johnson 4.1-0.09 - fix: queries that evaluated to "" incorrectly returned NULL. - fix: packages produced by rpm-4.0 dinna merge signature tags. * Sun Apr 14 2002 Jeff Johnson 4.1-0.08 - use build time to choose one of multiple alternative suggestions. - add --nosuggests to disable suggested resolutions. * Sat Apr 13 2002 Jeff Johnson 4.1-0.07 - merge conflicts into problems, handle as transaction set variable. * Fri Apr 12 2002 Jeff Johnson 4.1-0.06 - use rpmdb-redhat to suggest dependency resolution(s). * Thu Apr 11 2002 Jeff Johnson 4.1-0.05 - rescusitate --rebuild. * Wed Apr 10 2002 Jeff Johnsion 4.1-0.04 - beecrypt: add types.h, eliminate need for config.gnu.h. * Sat Mar 16 2002 Jeff Johnson - *really* dump signature header immutable region. * Sun Mar 10 2002 Jeff Johnson - make --addsign and --resign behave exactly the same. - splint annotations, signature cleanup. - drill ts/fi through verify mode, add methods to keep fi abstract. - use mmap when calculating file digests on verify, ~20% faster. - permit --dbpath and --root with signature (i.e. --import) modes.