summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-02-02compate name and versionAnas Nashif1-2/+20
Also compare the name and not only the version when checking if two packages are the same. rh#104066
2013-02-02Convert output to the current locale.Anas Nashif1-0/+152
Assumes utf8 input if the decoding works, otherwise iso-8859-1. (imported from suse rpm)
2013-02-02Make debugedit build without dwarf.hAnas Nashif2-3/+31
2013-02-02add patch 0Anas Nashif1-1/+1
2013-02-02Add db4 integration patchAnas Nashif3-101/+88
2013-02-02update spec versionAnas Nashif1-1/+1
2013-02-02add spec fileAnas Nashif1-0/+371
2013-01-31Restore legacy behavior on %ghost %config erasure, mostlyPanu Matilainen1-2/+15
- Make rpmfiConfigConflict() consider any existing %ghost %config as "modified". This causes them to be left alone on erasure to match long-standing rpm behavior (whether the behavior is intended or not...) Ghost config testcase passes again, talk about flip-flop. Sigh. - Legacy behavior had an extra twist which we are intentionally NOT restoring: if a non-empty %ghost exists at build-time, its digest is stored in the header despite the file not being present in the payload. With previous versions of rpm, the contents of an existing %ghost %config would be compared to the one in header and resulting in different behavior on erasure: if the contents matched that of build-time, the file would be removed, otherwise it would be preserved. Ghosts remembering their identity from previous life goes a little bit too far into the land of paranormal for me... (cherry picked from commit 233e4573d1d21a36d06874fea6c594428033802e)
2013-01-31Adjust ghost config test case to match legacy behaviorPanu Matilainen1-4/+5
- Rpm has traditionally (at least for the last decade) preserved existing %ghost %config file on erasure. Whether this was intentional or not, changing the behavior now risks data loss in case people are relying on this long-standing behavior. - This fails now: The behavior changed as (an unexpected) side-effect of commit 389b1ab706be8eddba9f00c7084759f670ce96ac. (cherry picked from commit 4efec66338ef04d2f1ed20cfba84c47145269d0d)
2013-01-31Refresh translations again, sighPanu Matilainen32-96/+96
2013-01-30Bump version to dot-paperbag aka 4.11.0.1Panu Matilainen1-1/+1
2013-01-30Dont skip shared file/dir create if the other one is a ghostPanu Matilainen1-2/+8
- Explicitly test for shared file/dir being ghost when deciding whether to skip create: we must never skip the creation of a real file/dir because of a ghost as the ghosts do not get created. - This fixes the shared ghost testcase, ie the thing that commit a712252392eca75443ca45c10a72873cabec7963 was supposed to fix, without side-effects that I can see. (cherry picked from commit 147a26c5f672ee3421fe057725f6be357031bbb5)
2013-01-30Revert the severely broken FA_SKIP on %ghost "fix"Panu Matilainen1-11/+0
- Reverts the bad half of commit a712252392eca75443ca45c10a72873cabec7963: treating files that wont be installed as skipped seems logical enough, but rpm disagrees... making %ghosts FA_SKIP on install causes upgrades on %ghost %config files to miss the necessary FA_SKIP getting set on the erase half via handleInstInstalledFile() and rpmfiDecideFate(), causing %ghost %config files to be nuked. Which isn't very nice when your /var/lib/rpm/ contents are packaged as %ghost %config... - This fixes the %ghost %config testcase but breaks the shared %ghost case in turn. (cherry picked from commit 471b74bf6e218abb06bb3131a259cdfaec3f08cf)
2013-01-30Add testcase for %ghost shared with a real filePanu Matilainen2-1/+39
- Further parametrize conflicttest.spec to allow for different attributes - Verify that the real file gets created without conflicts, that it doesn't get removed when ghost is removed and gets normally removed on erase. - This is the case commit a712252392eca75443ca45c10a72873cabec7963 was supposed to fix (which it does but with, ahem, "slight" side-effects) (cherry picked from commit 0485eab2c96173d1e34e4edb3570e58a693e255e)
2013-01-30Add testcase for %ghost %config behaviorPanu Matilainen2-1/+53
- Further parametrize configtest.spec to allow for different attributes - Verify pre-existing %ghost %config is preserved on install, that it survives upgrades and gets removed on erase. This fails now because it IS broken due to commit a712252392eca75443ca45c10a72873cabec7963. (cherry picked from commit 5121ea2151f13e58740b7b4e7dc20cff5f2475fb)
2013-01-29Preparing for 4.11.0 finalPanu Matilainen1-1/+1
2013-01-29Update translations from TransifexPanu Matilainen36-2724/+2405
2013-01-29Dont mess with global user identity in __scm_setup_bzrPanu Matilainen1-1/+1
- Bzr defaults to global value on "bzr whoami", so we would mess up user identity on "%autosetup -S bzr". Oops. Move identity setting after repo initialization and set the identity per-branch, not global. The notion of "per-branch identity" seems odd, but then bzr is... I guess this would be bzr-speak for "per-directory identity" (cherry picked from commit 58f41cb4e1721d410017732a55613056b6acb24c)
2013-01-29Setup git identity in __scm_setup_git (RhBug:905002)Panu Matilainen1-0/+2
- For some reason on my own account git keeps functioning even if I remove its configuration, but on a newly created account git commit bails out with "Please tell me who you are" unless we set the (per-repo) configuration here. (cherry picked from commit 321a87d789bb090c88c541f7f158ae922ddee3ff)
2013-01-29Split __scm_author to separate name and email address macrosPanu Matilainen1-1/+3
- At least git wants name and email separately, change __scm_author to combine the two instead. Related to RhBug:905002. (cherry picked from commit 1a21dc867dfbf48169782c6b8dbd0e0476e2bbbf)
2013-01-29Acommodate to glibc 2.17 __secure_getenv() renamingPanu Matilainen2-2/+4
- glibc 2.17 renames __secure_getenv() to secure_getenv() so now we need to test for both. Meh. (cherry picked from commit 49519f2564777fdcfb801088fb3025b3d6f5783a)
2013-01-29Be more careful about skipping shared file/directory creationPanu Matilainen1-1/+13
- Only skip shared file/dir creation if its actually being created by another package. Previously we could've decided to skip an entry where the other file was also being skipped for some other reason. - Ensure %ghost entries always have FA_SKIP on install, previously they often were FA_CREATE which makes no sense for %ghost. We dont encounter %ghosts at all during install in the FSM as they dont exist in the payload, but the file disposition calculations need to take them into account now that we're avoiding redundant creates. - Fixes a regression from commit f7f5f88f9f3d6587e747b034ccb64a3f00ff4e1e which unearthed the %ghost FA_CREATE issue, reported here: http://lists.fedoraproject.org/pipermail/buildsys/2013-January/004047.html (cherry picked from commit a712252392eca75443ca45c10a72873cabec7963)
2013-01-29Adjust rpmspec -P to invoke non-build parseAlexey Tourbin1-1/+1
In the query mode, rpmspecQuery puts the parser into non-build mode by invoking rpmSpecParse with (RPMSPEC_ANYARCH|RPMSPEC_FORCE) flags. The same flags should be applied in the parse mode, so that it is possible to preprocess specfiles separately, i.e. without also installing sources and patches. Signed-off-by: Panu Matilainen <pmatilai@redhat.com> (cherry picked from commit 4eb824937ce536aeecdfdcab2d88e28083bba85b)
2013-01-29Make double-quoting work for special %doc (and %license) tooPanu Matilainen1-1/+4
- Up to now, special %doc has been different from everything else in %files: double-quoting which is used to escape eg spaces in filenames has not worked, but single-quoting and backslash-escapes (which do not work elsewhere in %files) "worked" by happenstance due to getting passed verbatim to shell/cp. Those and various other %doc hacks people have come with stopped working (ticket #858) as starting from commit 29677605d44dc9cba3119135653ba0372ab58037 we perform the copies in slightly more controlled manner. - Rather than re-enable old quirks, make %doc and %license behavior consistent with the rest of the %files section: double-quoting and globs work, other escaping methods do not. - This does mean a minor (as docs with spaces are relatively rare) compatibility rift in specs, the "official workaround" is that if compatibility with older rpm versions is required globs can be used instead of quotation. (cherry picked from commit a1d9364adb556813886d91b2799217a412ac5bb0)
2013-01-29Revert "make "canonicalization(...)shrank by one character" error message ↵Panu Matilainen1-1/+1
more usefull" - The message is not about basedir and destdir, and printing them here only makes the message even more confusing than it was, eg: canonicalization unexpectedly shrank by one character \ ('/home/pmatilai/rpmbuild/BUILD/' vs '/usr/src/debug/') - This reverts commit 1eea433d9961d74dbc797cea7f9bfceab8c16a3e (cherry picked from commit e83cc97792d66f8d31ef471455a9fa6ae136ae9a)
2013-01-29Alternatively accept files from command line arguments in elfdepsPanu Matilainen1-4/+12
- Nothing actually needs this, but for testing & debugging command line args are often nicer than having to pass stuff via stdin. (cherry picked from commit 6941d51e7e5139014418d1056acb6dafccefbab7)
2013-01-29Fake ELF sonames by default (again)Panu Matilainen1-2/+2
- (Private) libraries which might intentionally not have DT_SONAME are still recorded as requires from DT_NEEDED, and there's no way of knowing what's an internal library when generating requires. Not faking the soname in these cases will only result in broken requires in cases that always used to "just work". - Change the switch to --no-fake-soname disabler instead to allow tweaking in special cases but by default we gotta match linker (and ELF specification) behavior, no matter how much we'd like to use this for our own heuristics :-/ (cherry picked from commit b6f159a34c946b75cb95a7862968ff4e8eb74fe6)
2013-01-29Centralize elf soname provide addition, commentPanu Matilainen1-15/+18
- Remember DT_SONAME in the elfInfo struct if encountered and only add it after everything else has been processed. This doesn't change any actual functionality for now, but gives us a single place where to control the addition. - Additionally document what the related DT_DEBUG test is for and clean up the processDynamic() loop and switch-case a bit. (cherry picked from commit 8e3ce7417a20dd8bca4676c0a598fc4932d22eef)
2013-01-29Only fake ELF soname's if requestedPanu Matilainen1-1/+3
- This helps cutting down the number of bogus provides from dlopen()'ed plugins and internal libraries which preferrably shouldn't have a soname at all. Unfortunately libtool always puts in a soname even if -module -avoid-version is used :-/ - OTOH there are broken libraries which dont have a soname even though they should, so (we need to) allow falling back to the former behavior of faking up a soname from the basename. (cherry picked from commit 6c0bdc393dda3de8bacd3a1844d980802e45d195)
2013-01-29Move elf class marker figuring to helper function, generalize a bitPanu Matilainen1-5/+19
- Determine arch-specific issues by looking at the elf header instead of compile-time #ifdefs, so we'll generate correct dependencies for non-native elf binaries too. Currently this is just alpha which despite being a 64bit system, never had the (64bit) markers in its dependencies. Of course alpha has pretty much already met its mark^H^H er maker by now, but doing the right thing is cheap... Also we'll need similar special cases sooner or later for other archs (such as x32). (cherry picked from commit f84a71cdc786a012fc9cbe16c5236c622ea970a4)
2013-01-29Consolidate elf dependency string generation to helper functionPanu Matilainen1-24/+19
- Figure out the elf class marker early and handle the rest in helper to avoid copy-slop code. No functional changes. (cherry picked from commit e7489abd6672e8c980d2d1b2ab32b963e1ea83b2)
2013-01-29Disable useless empty translations, enable Ukrainian translationPanu Matilainen1-1/+1
(cherry picked from commit 8774cb03cf78b02411cc26329a3c362d95e36fe4)
2013-01-29Initial Breton (br) translationThierry Vignaud2-1/+3494
Signed-off-by: Panu Matilainen <pmatilai@redhat.com> (cherry picked from commit d277537bcafa65f1cb09d12e259569d6ed35e2a2)
2012-12-19Handle transaction global pool allocation centrally in rpmtsPool()Panu Matilainen4-16/+16
- Previously the pool would only get allocated on successfull addition of install or erasure elements, causing assert() failures on operations on empty transaction set, which should be just a no-op, not an error. - Make rpmtsPool() create the pool if it doesn't exist, update relevant users to call rpmtsPool() instead of directly accessing tsmem->pool, this avoids having to worry about pool existence in all the various cases. - Also fix up the pool-related comment on rpmtsEmpty(): pools does not and can not support emptying as it could break references to its contents. Per-string refcount would be needed for emptying support. (cherry picked from commit d73535e1a9dc5095e78475adc5b636d99f01efa9)
2012-12-19Clean up fix grabData() error handling in callersPanu Matilainen1-6/+4
- grabData() only returns non-NULL on data length > 0, separately checking for length only makes it look like a possible case when its not. If it were, it'd be a memory leak. (cherry picked from commit aa6af71d457be5d78252f23ea68322dcaf199e4e)
2012-12-18display the actual unknown option instead of '?'Thierry Vignaud1-1/+1
'?' is returned by getopt when option is unknown, making hard to pinpoint the actual bogus option... Signed-off-by: Panu Matilainen <pmatilai@redhat.com> (cherry picked from commit 8192e580a0a962b8eb7f9d8fc07bd3f99ccf0ffe)
2012-12-18Dead code removalPanu Matilainen1-5/+0
- Nothing is setting "arch" here anymore, this should've been removed in commit fddfee17c3c4e19269665800d557d3452cbde162 already (cherry picked from commit 1c3f966903743ea571a23e1af08a618b4179c5cb)
2012-12-10Preparing for 4.11.0-beta1Panu Matilainen35-3775/+4207
2012-12-07Ensure correct return code on malformed signature in packagesPanu Matilainen1-2/+6
- rpmpkgRead() starts with assumed failure, but there are a number of places assigning the return code, and by the time we get to the parsePGPSig() calls its likely to be RPMRC_OK, so the jumps to exit result in "all is well" return code on a signature we couldn't even parse. Oops. - Set the failure status explicitly to fix this fairly nasty regression introduced in commit e8bc3ff5d780f4ee6656c24464402723e5fb04f4, ie rpm >= 4.10. (cherry picked from commit 96a616c6aed4c516789a154af188f005caf23f14)
2012-12-04Handle allocation failure in NSS DSA signature initializationPanu Matilainen1-2/+4
(cherry picked from commit 2d39f13064f6e6ff1a1633b708e7ba5622a7e8eb)
2012-12-04Fix build with older NSS versions that dont support SHA224Panu Matilainen1-0/+4
- SHA224-support was added around NSS 3.13, dont break compilation with older versions just for this rarely used hash. - HASH_AlgSHA224 is an enum so test for SHA224_LENGTH define instead (cherry picked from commit e15e29823451663e27a5bec6c865b37901f1c315)
2012-12-04Condence NSS getHashType() a bit, handle SHA224 tooPanu Matilainen1-24/+8
- Not much point in enumurating unsupported cases, or with switch-breaks after returns. - Recognize SHA224 too (cherry picked from commit 466a6b554e7f7ded9f1c59646e6b64243ce16812)
2012-11-30Unbreak --setperms (RhBug:881835)Panu Matilainen1-1/+1
- Fixes a regression introduced in rpm >= 4.10 caused by query format simplification (loss of zero padding support), in commit 1f1e5e88a1f6c60cf2d11014d809000e97a63aad. - 'chmod' command doesn't need zero padding, just remove the formatting. In fact we shouldn't be passing the entire mode to it but just the permission bits, but fortunately chmod isn't too picky here. (cherry picked from commit 4c90c79e3f3c178189ad3bd89dfd87cd3a2290ab)
2012-11-30Get rid of long since deprecated VFY_VerifyDigest() usesPanu Matilainen3-32/+30
- VFY_VerifyDigest() has been deprecated since NSS >= 3.12 and for a good reason too: with VFY_VerifyDigest() caller needs to painfully enumerate every possible supported enc + hash combination, only for NSS to revert the process. Use the saner VFY_VerifyDigestDirect() interface instead and test for its presence in configure. - This means we now require NSS >= 3.12 but as that's already 4.5 years old and included in ancient beasts like RHEL-4, this doesn't seem exactly unreasonable requirement. And then there's always beecrypt... (cherry picked from commit 9b995a7674adba08248fac79ae8b23ecbecc13de)
2012-11-30Remove extra ',' in NSS configure checks, whoopsPanu Matilainen1-1/+1
(cherry picked from commit e1c67173d38016a88989f5b09e0934f90094fe85)
2012-11-30Use NSS-defined constants for DSA q-bits and signature length tooPanu Matilainen1-3/+9
- No functional changes here (either), but using the proper constants simply makes things that little bit clearer. (cherry picked from commit 604da18bc267f89568081c1ab163c7fc45207220)
2012-11-30Avoid deprecation warnings from NSS >= 3.14Panu Matilainen1-6/+8
- NSS >= 3.14 introduces support for DSA2 and marks DSA_SUBPRIME_LEN as deprecated. Use explicit DSA1_SUBPRIME_LEN (we only support DSA1 for now) instead where available, add compatibility define for older versions. - Also directly include <blapit.h> where its defined - blabit.h gets included via cryptohi.h but being explicit about it avoids having to redefine it again "just in case". (cherry picked from commit 73be0fc7d9faab9f1120e2979f2ca1feed522195)
2012-11-26Add missing <errno.h> includePanu Matilainen1-0/+1
- Should've been in commit cbd6ef58bbc122e6adf2138679915bd3845d6756, this breaks build when selinux-support is not compiled in (cherry picked from commit ebba1c7b58ba089bb9e1ded147c789d9ca067b6c)
2012-11-22Avoid locale issues in rpm2cpio.sh (RhBug:878363)Panu Matilainen1-0/+3
- In gawk >= 4.0.x printf() "adjusts" things according to current locale, but we need the data as it is. Forcing C locale prevents gawk from getting funny ideas about character conversions... (cherry picked from commit c0e95f1cedefd6d7522ef2cf7a2ada7c83821596)
2012-11-18Fix double-free on %caps in spec (RhBug:877512)Panu Matilainen1-1/+0
- Fixes regression caused by dumb refactoring mistake in commit 807ba93a6cf168410e3801347898949f356fcd6c (cherry picked from commit 6bdd34c451dbf69792c59704e06f1ccb045ae743)