Panu Matilainen [Thu, 26 Feb 2009 15:17:52 +0000 (17:17 +0200)]
Preparing for rpm 4.7.0-beta1
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)
Panu Matilainen [Mon, 19 Jan 2009 12:21:45 +0000 (14:21 +0200)]
Fix memleak from i18n strings if retrieved with HEADERGET_ALLOC
Panu Matilainen [Sat, 17 Jan 2009 12:15:50 +0000 (14:15 +0200)]
Make it possible to disable %pre- and %posttrans scriptlets (rhbz#475582)
- rpmtransFlags_e is overcrowded, map to "regular" %pre and %post
scriptlet behavior for now
- split up the transaction flags at some point to permit more precise
control
Panu Matilainen [Fri, 16 Jan 2009 07:09:40 +0000 (09:09 +0200)]
Add getenv macro, use instead of $(echo $HOME) for defauls
- inspired by http://lists.rpm.org/pipermail/rpm-maint/2009-January/002332.html
Jindrich Novy [Thu, 15 Jan 2009 12:25:08 +0000 (13:25 +0100)]
Update Brazilian Portuguese translation (rhbz#480040)
Panu Matilainen [Thu, 15 Jan 2009 08:28:13 +0000 (10:28 +0200)]
Add extra parameter to rpmteClose() to control fi behavior
- pre/posttrans scripts should leave te->fi alone, now it was getting
nuked, oops..
Panu Matilainen [Thu, 15 Jan 2009 07:22:58 +0000 (09:22 +0200)]
Make sure global state gets NULLed on free
- otherwise repeated read config -> free config like rpmbuild does
will crash and burn
- somewhat kludgy, figure a better way to do this
Panu Matilainen [Wed, 14 Jan 2009 13:18:25 +0000 (15:18 +0200)]
Add central Lua shutdown function and use it
- makes sure lua garbage collect runs
- memory used by lua gets freed
Panu Matilainen [Wed, 14 Jan 2009 13:09:25 +0000 (15:09 +0200)]
Add librpm level lua extension stub
- inspired by rpm5.org, details differ
- just rpm.vercmp() for now
- push all Lua initialization to rpmLuaInit()
Panu Matilainen [Wed, 14 Jan 2009 12:39:55 +0000 (14:39 +0200)]
Add rpmluaGetGlobalState() to internal lua api
- retrieve global state, init if needed
- inspired by rpm5.org, details differ
- use it for initialisation in rpmrc instead of abusing rpmluaGetPrintBuffer
Panu Matilainen [Wed, 14 Jan 2009 08:52:41 +0000 (10:52 +0200)]
Actually check for dbenv->failchk() exit code
- failchk() can't resolve all cases, we shouldn't try to continue if it fails
Jindrich Novy [Tue, 13 Jan 2009 18:28:47 +0000 (19:28 +0100)]
Remove redundant anyarch check
Jindrich Novy [Tue, 13 Jan 2009 18:26:35 +0000 (19:26 +0100)]
Simplify group tag inheritance for a bit
Jindrich Novy [Tue, 13 Jan 2009 08:20:00 +0000 (09:20 +0100)]
Inherit group tag from the main package if unspecified (rhbz#470714)
Jindrich Novy [Mon, 12 Jan 2009 15:15:27 +0000 (16:15 +0100)]
Ignore BuildArch tags for anyarch actions (rhbz#442105)
Florian Festi [Fri, 9 Jan 2009 16:27:35 +0000 (17:27 +0100)]
Make the data array part of the hash bucket to save one pointer per bucket
Panu Matilainen [Mon, 12 Jan 2009 10:57:03 +0000 (12:57 +0200)]
Updated German translation (Fabian Affolter)
Jindrich Novy [Sun, 11 Jan 2009 15:54:07 +0000 (16:54 +0100)]
Don't check package BuildRequires when doing --rmsource (rhbz#452477)
- export doRmSource() and make it more consistent with the API
Jindrich Novy [Sun, 11 Jan 2009 14:23:59 +0000 (15:23 +0100)]
Don't fail because of missing sources when only spec
removal is requested (rhbz #472427)
Panu Matilainen [Fri, 9 Jan 2009 15:13:19 +0000 (17:13 +0200)]
javadeps format string fix from Pixel
Panu Matilainen [Fri, 9 Jan 2009 15:05:40 +0000 (17:05 +0200)]
Don't bother calculating string sizes manually
- ...and one less strcpy() to grep for
Panu Matilainen [Fri, 9 Jan 2009 14:59:43 +0000 (16:59 +0200)]
Fix buffer overflow on oversized filelist entries (susebz#397006)
- original fix by Dirk Mueller
Florian Festi [Fri, 9 Jan 2009 14:36:36 +0000 (15:36 +0100)]
Implement dbiGet and dbiPut as normal function
Florian Festi [Fri, 9 Jan 2009 14:25:56 +0000 (15:25 +0100)]
Remove unused database intex functions: dbiCdup, dbiAssociate, dbiPget, dbiJoin
and their implementations in the backends
Panu Matilainen [Fri, 9 Jan 2009 13:05:40 +0000 (15:05 +0200)]
Don't try to create "" directories
Panu Matilainen [Thu, 8 Jan 2009 13:04:58 +0000 (15:04 +0200)]
Update docs wrt gpg path macro (rhbz#476201)
Panu Matilainen [Thu, 8 Jan 2009 11:57:59 +0000 (13:57 +0200)]
Don't bother translators with messages from unused utilities (rhbz#466834)
- these things dont even get built normally, translations hardly needed
Panu Matilainen [Thu, 8 Jan 2009 11:17:22 +0000 (13:17 +0200)]
Delay NSS initialization until actually used
- since NSS is allergic (ie becomes non-functional) after forking, delay
it's initialization until really needed, ie lazy init in rpmDigestInit()
- however as NSS init can fail if attempted in completely empty chroot,
we force crypto init to happen at transaction set create time, forking
past that is pretty much doomed anyway
- this is the other half of the fix for rhbz#476737, and similar case
noticed by Pixel in Mandriva (due to urpm forking)
Panu Matilainen [Thu, 8 Jan 2009 11:03:55 +0000 (13:03 +0200)]
Only touch _crypto_initialized if we actually change it
Panu Matilainen [Thu, 8 Jan 2009 10:24:50 +0000 (12:24 +0200)]
Cast to intptr_t instead of int to kick out the final warning
Panu Matilainen [Thu, 8 Jan 2009 10:07:54 +0000 (12:07 +0200)]
Include isaname support for arm (Kedar Sovani)
Panu Matilainen [Thu, 8 Jan 2009 09:47:31 +0000 (11:47 +0200)]
Make rpm_tid_t unsigned type to shut up remaining compiler warnings
Panu Matilainen [Thu, 8 Jan 2009 08:38:29 +0000 (10:38 +0200)]
Don't segfault in pgpPubkeyFingerprint() if rpmDigest* fails
- this can happen if NSS is not properly initialized, such as after
forking
- partial fix to rhbz#476737 (as in "doesn't crash"), deeper issue is
that NSS init needs to be done later than we do now
Panu Matilainen [Wed, 7 Jan 2009 13:54:06 +0000 (15:54 +0200)]
rpmRelocateFileList() doesn't need rpmte for anything, just file states
Panu Matilainen [Mon, 5 Jan 2009 15:43:37 +0000 (17:43 +0200)]
Validate + sort relocations in rpmte at create time
- instead of storing "raw" relocations in rpmte to be passed down to
rpmRelocateFileList() for copying over and sorting etc, do the work
just once at rpmteNew() time
- much of the real work to relocate header contents still needs to be done
twice as the header gets thrown and needs to be reconstructed in
rpmtsProcess()