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()
Panu Matilainen [Sat, 20 Dec 2008 07:41:04 +0000 (09:41 +0200)]
Split saving relocations to header out of relocateFileList()
- also realizing we can just headerMod() the td's we originally got,
they contain the modified data now... duh :)
Panu Matilainen [Fri, 19 Dec 2008 22:43:51 +0000 (00:43 +0200)]
Split sorting out of relocateFileList()
Panu Matilainen [Fri, 19 Dec 2008 18:05:55 +0000 (20:05 +0200)]
Split RPMTAG_INSTPREFIXES addition out of relocateFileList()
- just splicing up the monster function...
Panu Matilainen [Mon, 5 Jan 2009 13:02:34 +0000 (15:02 +0200)]
Relocation needs to be called even if no relocs specified
- relocatable packages expect RPM_INSTALL_PREFIX in scriptlets even
default prefix is used, relocation adds RPMTAG_INSTPREFIXES
Panu Matilainen [Mon, 5 Jan 2009 09:25:03 +0000 (11:25 +0200)]
Lose deprecated DETAILS_AT_TOP doxygen setting
Panu Matilainen [Mon, 5 Jan 2009 09:18:46 +0000 (11:18 +0200)]
Eliminate header magic duplication all over the place, export it
- avoid several copies of the same thing...
- there are valid reasons for wanting to know header magic outside librpm,
export it as rpm_header_magic
Panu Matilainen [Mon, 5 Jan 2009 08:42:54 +0000 (10:42 +0200)]
Use enumeration for header flags
Panu Matilainen [Mon, 5 Jan 2009 08:39:15 +0000 (10:39 +0200)]
Remove unnecessary HEADER_FOOTAG definitions
- header.c can include rpmtag.h these days
Panu Matilainen [Fri, 2 Jan 2009 10:27:32 +0000 (12:27 +0200)]
rpmte struct is now fully opaque throughout rpm
Panu Matilainen [Fri, 2 Jan 2009 10:25:02 +0000 (12:25 +0200)]
Use rpmteSetFd() instead of direct access to rpmte structure
Panu Matilainen [Fri, 2 Jan 2009 10:21:52 +0000 (12:21 +0200)]
Add rpmteSetFd() (internal) function
- this is dumb as only rpmInstallSourcePackage() needs, figure out something
better eventually
Jindrich Novy [Tue, 23 Dec 2008 08:48:16 +0000 (09:48 +0100)]
Increase XZ decompression memlimit
Panu Matilainen [Mon, 22 Dec 2008 13:30:23 +0000 (15:30 +0200)]
Eliminate silly and now unnecessary rpmts(Set)RelocateElement() stuff
Panu Matilainen [Mon, 22 Dec 2008 13:29:52 +0000 (15:29 +0200)]
Perform relocations from rpmte instead of rpmfi
- rpmte has all the necessary bits at hand, rpmfi does not
- avoids silly ping-pong through transaction set to get to the ts element
- avoids recalculating number of relocations
- avoids accessing rpmte struct outside rpmte.c
Panu Matilainen [Fri, 19 Dec 2008 16:59:38 +0000 (18:59 +0200)]
Perform relocations *before* filling out rpmfi structure
- no need to fuss about recreating bits and pieces of rpmfi after the fact
Panu Matilainen [Fri, 19 Dec 2008 16:49:09 +0000 (18:49 +0200)]
Avoid a whole lotta shuffling wrt file info header
- We're not making copies of header or anything here, all this linking
and unlinking is unnecessary. Just have relocateFileList() modify the
header we pass to it, as that's what it's doing *anyway*
Panu Matilainen [Fri, 19 Dec 2008 15:46:16 +0000 (17:46 +0200)]
Ignore rpmfi flags for basenames + dirnames
- we make a copy if we modify, doesn't make a difference
Panu Matilainen [Fri, 19 Dec 2008 15:44:33 +0000 (17:44 +0200)]
Sanitize file modes handling in relocation
- we dont modify fi->fmodes so fi->scareFlags is irrelevant, just use minmem
always
- use rpmtd accessors instead of direct access
Panu Matilainen [Fri, 19 Dec 2008 15:34:40 +0000 (17:34 +0200)]
Remove unused file/dir color calculations
Panu Matilainen [Fri, 19 Dec 2008 15:27:28 +0000 (17:27 +0200)]
Save some trouble by grabbing malloced copy of dir indexes
Panu Matilainen [Fri, 19 Dec 2008 14:19:32 +0000 (16:19 +0200)]
Remove couple of leftover, unused local variables
- one more fi-> access still lurking...
Panu Matilainen [Fri, 19 Dec 2008 13:05:54 +0000 (15:05 +0200)]
Eliminate last remaining fi-internals use from transaction.c