Panu Matilainen [Wed, 11 Mar 2009 11:58:51 +0000 (13:58 +0200)]
SHA1 and MD5 failures are always RPMRC_FAIL
- these failures cannot be "fixed" by importing a key, RPMRC_NOKEY is wrong
- streamline a bit by assuming failure
Panu Matilainen [Wed, 11 Mar 2009 11:56:08 +0000 (13:56 +0200)]
Use tag to distinguish header-only vs header+payload signatures
Panu Matilainen [Tue, 10 Mar 2009 12:27:08 +0000 (14:27 +0200)]
Lift best signature detection out of rpmVerifySignatures()
Panu Matilainen [Tue, 10 Mar 2009 11:52:41 +0000 (13:52 +0200)]
Lift pgp parsing into separate function
- similar to
dc5fa254588be57a066ef4679c75e2bb3bda5fef
Panu Matilainen [Tue, 10 Mar 2009 11:45:12 +0000 (13:45 +0200)]
Avoid rasprintf() on potentially NULL string
Panu Matilainen [Tue, 10 Mar 2009 11:38:26 +0000 (13:38 +0200)]
Eliminate Yet Another temporary result variable
Panu Matilainen [Tue, 10 Mar 2009 11:33:57 +0000 (13:33 +0200)]
Further rpmVerifySignatures() cleanup
- initialize variables at declaration time
- split the formatting of the result spew into separate function
- if multiple missing/bad keys, report them all
Panu Matilainen [Tue, 10 Mar 2009 10:10:49 +0000 (12:10 +0200)]
Assume failure in rpmVerifySignatures()
- simplifies the code a bit
Panu Matilainen [Tue, 10 Mar 2009 09:09:35 +0000 (11:09 +0200)]
Use rstrcat() instead of rasprintf(), less fuss involved
Panu Matilainen [Tue, 10 Mar 2009 09:03:08 +0000 (11:03 +0200)]
Fix memleak on signature checking failure
- early exit from header iteration loop could previously leak from unfreed
buf and header iterator
Panu Matilainen [Tue, 10 Mar 2009 09:01:32 +0000 (11:01 +0200)]
Eliminate pointless {} block inflating indentation level
- no functional changes
Panu Matilainen [Tue, 10 Mar 2009 08:17:13 +0000 (10:17 +0200)]
Don't return data from headerGet() on regionSwab() failure
- callers dont expect to free data if headerGet() returns failure,
leaking memory
Jindrich Novy [Mon, 9 Mar 2009 19:19:37 +0000 (20:19 +0100)]
Port XZ payload compression to xz-4.999.8 API
- use SHA256 digests for archive error detection
- use 100MiB peak memory usage for decoding
- use better XZ detection in configure.ac
Panu Matilainen [Mon, 9 Mar 2009 14:44:47 +0000 (16:44 +0200)]
Add test for _install_lang and status
Panu Matilainen [Mon, 9 Mar 2009 12:57:46 +0000 (14:57 +0200)]
Unbreak %_install_langs handling (rhbz#489235)
- using rpmfiFLangs() in skipFiles() broke the %_install_langs logic,
causing all files to be skipped if install langs, eek
Panu Matilainen [Mon, 9 Mar 2009 12:48:47 +0000 (14:48 +0200)]
Fix RPMTAG_FILESTATES in rpmdb
- sizeof(rpmfileState) != sizeof(char), and char is what goes to headers
resulting in some pretty weird states despite being correct on disk
- add rpm_fstate_t type for the header presentation of states and
use where appropriate
Panu Matilainen [Sun, 8 Mar 2009 15:38:49 +0000 (17:38 +0200)]
Initialize on declaration, cosmetics only...
Panu Matilainen [Sun, 8 Mar 2009 15:36:39 +0000 (17:36 +0200)]
Dont bother retrieving colors unless actually needed
Panu Matilainen [Sun, 8 Mar 2009 15:28:17 +0000 (17:28 +0200)]
Dont bother retrieving ts problem set unless actually needed
Panu Matilainen [Sun, 8 Mar 2009 15:25:45 +0000 (17:25 +0200)]
Dont bother retrieving altNEVR unless actually needed
Panu Matilainen [Sun, 8 Mar 2009 09:33:22 +0000 (11:33 +0200)]
Load macros before creating directories (rhbz#489104)
- %_sourcedir and friends can have things like %{name}, load macros
before trying to create any directories when installing src.rpms
Panu Matilainen [Fri, 6 Mar 2009 11:43:17 +0000 (13:43 +0200)]
Document libcap, libacl in INSTALL
Panu Matilainen [Wed, 4 Mar 2009 13:12:02 +0000 (15:12 +0200)]
Condense "shut up gcc" switch-cases to just default no action case
Panu Matilainen [Mon, 2 Mar 2009 11:23:35 +0000 (13:23 +0200)]
Add internal helper to verify signature parse results
- eliminates bunch of copy-paste variants of the same thing
- additionally verify pgpPrtPkts() return code
Panu Matilainen [Wed, 4 Mar 2009 12:40:21 +0000 (14:40 +0200)]
Move the common part of DSA+RSA verification into helper function
Panu Matilainen [Wed, 4 Mar 2009 11:41:27 +0000 (13:41 +0200)]
Dont leak memory from hdrmd5ctx
Panu Matilainen [Wed, 4 Mar 2009 11:08:30 +0000 (13:08 +0200)]
Handle V4 signature trailer for RSA too (ticket #34)
Panu Matilainen [Wed, 4 Mar 2009 10:20:44 +0000 (12:20 +0200)]
verifySHA1Signature() doesn't need pgpDig at all
Panu Matilainen [Wed, 4 Mar 2009 10:19:02 +0000 (12:19 +0200)]
verifyMD5Signature() doesn't need pgpDig at all
Panu Matilainen [Wed, 4 Mar 2009 10:17:21 +0000 (12:17 +0200)]
verifySizeSignature() only needs size, not all of pgpDig
Panu Matilainen [Wed, 4 Mar 2009 09:49:29 +0000 (11:49 +0200)]
Eliminate unnecessary fields from pgpDig_s
- sha1(len) and md5(len) are only needed and used locally in
verify[DR]SASignature(), no point carrying them around in pgpDig
- use wrapper function to hide type differences between rpm and NSS
Panu Matilainen [Tue, 3 Mar 2009 06:48:12 +0000 (08:48 +0200)]
Add ISA bits for alpha (Oliver Falk)
Jindrich Novy [Mon, 2 Mar 2009 09:29:05 +0000 (10:29 +0100)]
Fix documentation and help for the md5 -> filedigest move
- add aliases for obsolete {RPM}VERIFY_MD5 flags to
not to break API
Jindrich Novy [Fri, 27 Feb 2009 13:34:39 +0000 (14:34 +0100)]
Add md5->filedigest aliases (rhbz#487597)
- add %verify(nofiledigest) as %verify(nomd5) file attribute alias
- reference digests as digests not checksums
- make old md5 related symbols obsolete and use newer reference
- update man page accordingly
Panu Matilainen [Thu, 26 Feb 2009 19:48:06 +0000 (21:48 +0200)]
Missing test material to tarballs, oops
Panu Matilainen [Thu, 26 Feb 2009 15:07:39 +0000 (17:07 +0200)]
Permit python bytecompile to fail for now
- various things like python templates in packages, jython code etc
blow up on the syntax checking, only warn instead of failing the build
until parametrized with a spec override possibility
Panu Matilainen [Thu, 26 Feb 2009 14:38:10 +0000 (16:38 +0200)]
Honor --nomanifest on install too
- bit of a kludge but works.. and fixes test case 39
Panu Matilainen [Thu, 26 Feb 2009 14:09:51 +0000 (16:09 +0200)]
Switch to libtool versioning, starting at 0:0:0
Panu Matilainen [Thu, 26 Feb 2009 08:49:38 +0000 (10:49 +0200)]
Handle empty argv passed to rpmdsDupArgv()
- same as
94552b96256c3620b4be407c501d0d926c081963, apt-rpm expects to
pass empty version as NULL to rpmdsSingle()
Panu Matilainen [Tue, 24 Feb 2009 12:24:40 +0000 (14:24 +0200)]
Clean up runTransScripts() a bit
- move progtag figuring out of the loop, and return with error code
instead of asserting on invalid tag
Panu Matilainen [Tue, 24 Feb 2009 11:55:27 +0000 (13:55 +0200)]
Single point of exit from rpmtsRun()
Panu Matilainen [Tue, 24 Feb 2009 11:41:18 +0000 (13:41 +0200)]
Split initialization of flags etc out of rpmtsRun()
Panu Matilainen [Tue, 24 Feb 2009 10:35:21 +0000 (12:35 +0200)]
Formatting cosmetics only
Panu Matilainen [Tue, 24 Feb 2009 10:31:22 +0000 (12:31 +0200)]
Calculate need to chroot just once
Panu Matilainen [Tue, 24 Feb 2009 10:22:21 +0000 (12:22 +0200)]
Eliminate unnecessary variable
- per-fi filecount only used once per loop for stats
Panu Matilainen [Tue, 24 Feb 2009 10:13:26 +0000 (12:13 +0200)]
Push fingerprinting chroot in+out into rpmtsPrepare() too
- rpmtsPrepare() can now fail (for chroot), handle exit
Panu Matilainen [Tue, 24 Feb 2009 09:50:23 +0000 (11:50 +0200)]
Push the rest of the prepare-calculations down to rpmtsPrepare()
- total file count only needed during prepare, pass around as necessary
- all fingerprinting related activity (skipping files, memory allocations
etc) are now handled locally from rpmtsPrepare()
- throw out some ancient no longer relevant comments
Panu Matilainen [Tue, 24 Feb 2009 09:23:25 +0000 (11:23 +0200)]
Eliminate fingerprint hash from ts struct
- only prepare stage needs, alloc+free locally and pass around to
helpers as necessary
Panu Matilainen [Tue, 24 Feb 2009 09:15:53 +0000 (11:15 +0200)]
Split fingerprinting stuff out of rpmtsRun()
- only prepare stage needs fingerprint associated caches and hashes,
push the allocations where needed
- do fingerprint additions in separate function
Panu Matilainen [Tue, 24 Feb 2009 08:40:43 +0000 (10:40 +0200)]
Split prepare phase out of rpmtsRun()
Panu Matilainen [Tue, 24 Feb 2009 08:28:27 +0000 (10:28 +0200)]
File skipping only done for added packages, simplify
Panu Matilainen [Tue, 24 Feb 2009 08:24:10 +0000 (10:24 +0200)]
Eliminate unused variables
- numAdded and numRemoved not used for anything at all
Panu Matilainen [Tue, 24 Feb 2009 08:13:43 +0000 (10:13 +0200)]
Split sanity checking out of rpmtsRun() to helper function
- with file counting done elsewhere, this becomes a clean and obvious split
- ensureOlder() doesn't need ts, just needs the problem set, simplifies
the problem set refcounting a bit
Panu Matilainen [Tue, 24 Feb 2009 08:10:38 +0000 (10:10 +0200)]
Fix memory leak from unused problem set
- checkInstalledFiles() doesn't need ps for anything, this just caused
a memleak due to refcount
Panu Matilainen [Tue, 24 Feb 2009 07:21:20 +0000 (09:21 +0200)]
Calculate files in transaction just once
- move file counting from rpmtsRun() and rpmFindBaseNamesInDB() to single
helper, store result in rpmts struct
Panu Matilainen [Mon, 23 Feb 2009 12:39:48 +0000 (14:39 +0200)]
Fix busted up Korean tranlations of manuals (rhbz#466597)
- previous conversion to utf-8 (from 2003!) was busted, wrong encoding
or something
Panu Matilainen [Sat, 21 Feb 2009 10:11:54 +0000 (12:11 +0200)]
Loosen up restrictions on dependency token names (rhbz#455119)
- Package names aren't restricted to ascii, no point restricting
dependency names either.
- This lets UTF-8 to go through but also all sorts of other junk but
as we haven't got a clue about the specs encoding, no can do. So we
only check for bad characters from plain ascii.
Panu Matilainen [Fri, 20 Feb 2009 20:02:49 +0000 (22:02 +0200)]
Only run script dependency extraction once per file, duh...
Panu Matilainen [Fri, 20 Feb 2009 19:44:13 +0000 (21:44 +0200)]
Check for errors from python bytecompile (Tim Waugh)
- since we're byte-compiling all python pieces, might as well use the
opportunity to catch syntax errors while at it
Jindrich Novy [Wed, 18 Feb 2009 07:11:18 +0000 (08:11 +0100)]
Revert fix for rhbz#442105, it has unwanted side effects
- mainly RPMTAG_BUILDARCHS missing from SRPM in case of BuildArch: noarch
Rakesh Pandit [Thu, 12 Feb 2009 12:27:35 +0000 (17:57 +0530)]
-Moved maifest checking from rpmInstall to rpmCheckManifest.
Rakesh Pandit [Thu, 12 Feb 2009 12:00:21 +0000 (17:30 +0530)]
-Move notify flag settings from rpmInstall and rpmErase to setNotifyFlag.
Rakesh Pandit [Thu, 12 Feb 2009 11:55:09 +0000 (17:25 +0530)]
-Move vsflags calculation from rpmInstall and rpmErase to setvsFlags.
Rakesh Pandit [Thu, 12 Feb 2009 11:43:20 +0000 (17:13 +0530)]
-Remove stopinstall variable and moved rpmcliPackagesTotal to correct place. -Changes in rpmInstallSource for getting reused in install mode and removed.
Rakesh Pandit [Thu, 12 Feb 2009 10:24:31 +0000 (15:54 +0530)]
-Use installInterfaceFlags in place of eraseInterfaceFlags. -Moved transaction part from rpmInstall and rpmErase to rpmcliTransaction.
Rakesh Pandit [Thu, 12 Feb 2009 10:19:28 +0000 (15:49 +0530)]
-Merge rpmInstallInterfaceFlags_e and rpmEraseInterfaceFlags_e to rpmInstallFlags_e.
Panu Matilainen [Thu, 12 Feb 2009 12:11:22 +0000 (14:11 +0200)]
Only initialize file capability cache if actually needed
- very few packages are going to have RPMTAG_FILECAPS at all
Jindrich Novy [Wed, 11 Feb 2009 12:19:22 +0000 (13:19 +0100)]
Fix output of pkgconfigdeps.sh so that rpmfc parses it correctly
Panu Matilainen [Tue, 10 Feb 2009 12:11:28 +0000 (14:11 +0200)]
Be more careful about errors in lua rpm vercmp()
Jindrich Novy [Wed, 11 Feb 2009 09:03:16 +0000 (10:03 +0100)]
Handle broken pkgconfig files better, rhbz#484970 (Lubomir Rintel)
Panu Matilainen [Fri, 6 Feb 2009 07:10:23 +0000 (09:10 +0200)]
Bump FileDigests rpmlib dependency version
- should've really been in commit
1f6ad324dbf4bebec905ddbb76d274345673a5b3,
the tag adjustment is an incompatible change from what was in
rpm 4.6.0-rc's, ugh
Panu Matilainen [Thu, 5 Feb 2009 20:37:27 +0000 (22:37 +0200)]
Use per-rpmfi string cache for file capability strings
- most packages wont have file capabilities attached at all, and even
where present, the files with capabilities are likely to be few and
far in between, avoid wasting memory
Panu Matilainen [Thu, 5 Feb 2009 15:22:00 +0000 (17:22 +0200)]
rpmfi is only needed by verifyHeader(), push it there
- no functional changes, just slight reorganization
Panu Matilainen [Thu, 5 Feb 2009 10:34:07 +0000 (12:34 +0200)]
Fix typo in python bindings documentation (Masatake YAMATO)
Panu Matilainen [Thu, 5 Feb 2009 10:20:20 +0000 (12:20 +0200)]
Exclude bin and sbin directories from python bytecompile (rhbz#182498)
Panu Matilainen [Thu, 5 Feb 2009 09:36:58 +0000 (11:36 +0200)]
Updated Brazilian Portugese translation (Igor Pires Soares)
Panu Matilainen [Thu, 5 Feb 2009 09:32:18 +0000 (11:32 +0200)]
--requires lists required capabilities, not packages (rhbz#483253)
- also fix a minor typo in --whatrequires description
Panu Matilainen [Mon, 2 Feb 2009 12:24:33 +0000 (14:24 +0200)]
OSGi dep extractor update (rhbz#466111):
- From Alphonse Van Assche: "This patch fix some parsing bugs and add some
new functionality (disable for now)"
Panu Matilainen [Mon, 2 Feb 2009 12:17:27 +0000 (14:17 +0200)]
Prepend PKG_CONFIG_PATH on pkgconfig requires extraction too (rhbz#473814)
- similar to
ab02fb183a441b6a30c863aebf49be992cd431fe but for requires
Panu Matilainen [Fri, 30 Jan 2009 11:53:18 +0000 (13:53 +0200)]
Undo tag clash on RPMTAG_FILEDIGESTALGO[S] with rpm5.org
- no rpm.org distro uses non-md5 digests yet for anything real, revert this
unnecessary clash while we still can
Panu Matilainen [Fri, 30 Jan 2009 06:28:57 +0000 (08:28 +0200)]
Try to play nice with OpenPKG (rpm5.org) packages (rhbz#478907)
- rpm5.org writes populates lead with partially bogus data, but
does have explicit RPMTAG_SOURCEPACKAGE for srpms, dont think of them
as binaries
- switches around the lead check in
50a4ed783c300a92948f7933a3c726d4bd2d643d
to look at source type explicitly and retrofit RPMTAG_SOURCEPACKAGE
for srpms early, this lets binaries without RPMTAG_SOURCERPM
(which is documented as "information only") and with explicit
RPMTAG_SOURCEPACKAGE be identified correctly
Panu Matilainen [Fri, 30 Jan 2009 06:18:58 +0000 (08:18 +0200)]
Updated Swedish translation (Göran Uddeborg)
Ville Skyttä [Thu, 29 Jan 2009 18:42:43 +0000 (20:42 +0200)]
Improve Qt translation support, particularly --all-name.
Panu Matilainen [Wed, 28 Jan 2009 14:34:06 +0000 (16:34 +0200)]
Don't throw away modified config files on cross-hash upgrades (rhbz#479869)
- different digest types can't be compared, take a backup to avoid
data loss
- Patch from Miloslav Trmac
Panu Matilainen [Wed, 28 Jan 2009 11:21:39 +0000 (13:21 +0200)]
Honor rpmtd type, not tag type, in rpmtdClass() (ticket #25)
Panu Matilainen [Wed, 28 Jan 2009 11:17:17 +0000 (13:17 +0200)]
Add API for getting the class of tag type directly
- no point requiring going through rpmTagGetType() if we already have
the type at hand, and in some nutty cases (wrt extensions) these dont
even always match
- rpmTagGetClass() is now just a convenience wrapper around
rpmTagTypeGetClass()
Panu Matilainen [Tue, 27 Jan 2009 12:21:40 +0000 (14:21 +0200)]
Add RPMTAG_SOURCERPM to gpg-pubkeys in rpmdb
- ptooey, but otherwise gpg-pubkey "packages" are considered source packages,
thanks to Ville Skyttä for pointing this out
Alexandr D. Kanevskiy [Fri, 23 Jan 2009 22:18:34 +0000 (00:18 +0200)]
Added ARMv7 architecture support
Panu Matilainen [Fri, 23 Jan 2009 12:34:08 +0000 (14:34 +0200)]
Check for binaries in noarch packages at build-time
- this will only catch elf files for now, but better than nothing
- default to terminating build (as binaries in noarch package is pretty
nasty thing to do), permit macro override just in case though
- only works for internal dep generator
Panu Matilainen [Fri, 23 Jan 2009 08:08:53 +0000 (10:08 +0200)]
Update dbi tag names for Filemd5s -> Filedigests change, oops..
Panu Matilainen [Thu, 22 Jan 2009 10:09:45 +0000 (12:09 +0200)]
Return NULL instead of blowing up on invalid rpmpsGetProblem()
- thanks to Pixel for spotting
Panu Matilainen [Tue, 20 Jan 2009 12:48:05 +0000 (14:48 +0200)]
Add a bit of documentation for headerGet() flags
Panu Matilainen [Tue, 20 Jan 2009 12:16:58 +0000 (14:16 +0200)]
Grab dependency name & version strings as argv-style arrays
- Related to ticket #22, this fixes rpmdsMerge() on data grabbed from
header. Prior to this, the following would blow up with memory corruption
as headerGet() string array wasn't NULL-terminated
rpmds d1 = rpmdsNew(h, RPMTAG_REQUIRENAME, 0);
rpmds d2 = rpmdsSingle(RPMTAG_REQUIRENAME, "foo", "1", 0);
rpmdsMerge(&d1, d2);
Panu Matilainen [Tue, 20 Jan 2009 12:15:24 +0000 (14:15 +0200)]
Add headerGet() flag to request argv-style NULL-terminated string arrays
- easy to do and some places would like the data this way so why not...
- also add corresponding rpmtd flag so caller can verify he got what
was requested
Panu Matilainen [Tue, 20 Jan 2009 10:55:35 +0000 (12:55 +0200)]
rpmdsMerge() expects ds->N and ds->EVR as argv-style arrays (ticket #22)
- use rpmdsDupArgv() instead of cloning headerGet() behavior to fix this for
rpmdsSingle() and rpmdsThis() generated dependency sets
- this is a regression from rpm 4.4.x, but for rpmdsNew() created sets
rpmdsMerge() has never worked as headerGet() doesn't return NULL
terminated arrays
Panu Matilainen [Mon, 19 Jan 2009 12:50:18 +0000 (14:50 +0200)]
Update / clarify documentation on building API/hacking docs
Panu Matilainen [Mon, 19 Jan 2009 12:37:09 +0000 (14:37 +0200)]
Don't segfault on "" rcfiles argument (spotted by Pixel)
Panu Matilainen [Mon, 19 Jan 2009 12:29:48 +0000 (14:29 +0200)]
Missing space in Russian translation (patch from Mandriva)
Panu Matilainen [Mon, 19 Jan 2009 12:27:39 +0000 (14:27 +0200)]
Use temporary table for Depends DB in sqlite too (Olivier Thauvin)
Panu Matilainen [Mon, 19 Jan 2009 12:25:55 +0000 (14:25 +0200)]
Fix segfault if ts rootdir is NULL (Pixel)