summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-03-29Teach rpm about pre-transaction dependenciesPanu Matilainen6-10/+17
- A pre-transaction dependency is generally anything that must be available at the start of the transaction, and cannot be resolved by packages *in* the transaction. This lets %pretrans scriptlet dependencies be expressed correctly, and could be also used for other kinds of pre-conditions. - rpmlib() dependencies are a special case of pre-trans dependencies but leaving them handled separately as they cannot be provided by anything in rpmdb either, whereas pretrans dependencies can.
2010-03-29Always fail build on unknown dependency qualifiersPanu Matilainen1-3/+6
- previously unknown qualifiers would go unnoticed if they happened be last (including being the only qualifier), eg Requires(pre,junk) or Requires(junk) would be cheerfully accepted but Requires(junk,pre) not.
2010-03-29Always initialize tagflags to RPMSENSE_ANYPanu Matilainen1-2/+1
2010-03-29Report all enabled dependency bits in deptype format extensionPanu Matilainen1-12/+11
- dont make assumptions about which bits can be enabled simultaneously, just dump 'em all
2010-03-29Dont bother translators with dependency lookup debug messagesPanu Matilainen2-6/+6
2010-03-29Lose unused RPMSENSE_PATCHESPanu Matilainen2-2/+1
- this was never used by upstream at least, and the "patch rpms" this refers to was abandoned by Suse in favor of deltarpm a long time ago...
2010-03-29Remove redundant assignmentsPanu Matilainen1-10/+1
- everything but buildrequires goes to pkg->header, no point having this separately set in each case
2010-03-29Group the tag cases a bit more logically in parseRCPOT()Panu Matilainen1-9/+9
2010-03-29Drop "support" for per-scriptlet build-requiresPanu Matilainen3-33/+3
- Rpm has never done anything useful with "BuildRequires(prep): foo" style dependencies other than recorded them in src.rpms, nor is there much point in properly supporting this in the future either - Frees up four more bits from rpmsenseFlags for better uses
2010-03-29Free up three bits from rpmsenseFlagsPanu Matilainen3-28/+31
- pass the wanted dependency type to addReqProv() as tagN argument (previously unused, eh...) instead of taking up three precious bits for internal-only purposes from a constrained bitfield
2010-03-26Add ds.Instance() method to python bindingsPanu Matilainen1-0/+7
- the naming between header/rpmte/rpmds "instance" is wonderfully inconsistent... oh well
2010-03-26Take advantage of rpmdsCurrent() in python bindingsPanu Matilainen1-6/+1
2010-03-26Add public rpmdsCurrent() function for creating a single ds from iterationPanu Matilainen2-0/+17
- Permits extracting single dependencies from a set with instance number inherited without exposing rpmdsSetInstance() kind of thing - Also faster than calling rpmdsSingle(rpmdsTagN(ds), rpmdsN(ds)....) where each call re-re-re-re-validates the indexes
2010-03-26Split single ds generation into helper function, clean up a bitPanu Matilainen1-13/+18
- allows nicer handling of ds instance without special cases
2010-03-26Simplify rpmcliTransaction() a bitPanu Matilainen1-11/+5
- No need for separate the install and erase cases here for problem filter flags: we only check disk space for added packages so this is just a no-op anyway - Also no need to fiddle with eflags for ordering, we always want ordering unless --noorder specified
2010-03-26l10n: Updates to Spanish (Castilian) (es) translationHéctor Daniel Cabrera1-423/+376
Transmitted-via: Transifex (www.transifex.net)
2010-03-26Oops, diskspace problem messed up from the argument shufflePanu Matilainen1-2/+2
- fixes regression from commit 12392d93e2006ac63f918a154f29283a14fb98cf
2010-03-26Record originating header instance to all problems where relevantPanu Matilainen1-4/+8
- currently unused but allows tracking things like file conflicts back to the originating header directly from the problem set
2010-03-26Take advantage of rpmdsInstance() in dependency problem reportingPanu Matilainen4-16/+16
- Other than having less arguments to pass here and there, doesn't give any immediate advantage, but with the origin of installed dependency stored in problem sets, it'd be possible to track back a dependency problem back to the originating header
2010-03-26Record header instance in dependency sets + add API for retrievingPanu Matilainen2-0/+16
2010-03-26Merge checkPackageSet() into checkInstDeps()Panu Matilainen1-22/+7
- checkPackageSet() got refactored out of being useful standalone while I wasn't looking :)
2010-03-26Avoid unnecessary argument now that problem pkgNEVRA is always te NEVRAPanu Matilainen1-5/+4
2010-03-26Change the problem data arrangement for dependency problemsPanu Matilainen3-10/+10
- pkgNEVR in problems is now always the NEVR of the transaction element triggering the problem, and altNEVR is the other affected package, dependency string is stored in the problem string attribute - no user visible changed, except for somebody crazy enough to try to do something other than print the problem message strings - we wouldn't really need to strdup() the pkgNEVR in problems now, but leaving that alone for the moment...
2010-03-26Filter out duplicate problems when adding to element problem setsPanu Matilainen2-34/+25
- Problems associated with a transaction element are necessarily unique to that element, so when filtered there we don't have to worry about skipping dupes elsewhere like in merged sets. This can actually lead to apparent duplicates in the current problem report output (eg in cases where multiple packages provide the same dependency which would be removed, like multilib packages), but this is only an artifact of they way the problems are currently printed out. - While this is still a dumb linear search, it can be several seconds faster than the previous filtering in rpmpsPrint(), which is now just a dumb convenience function.
2010-03-26Eliminate rpmpsAppend() from the APIPanu Matilainen3-33/+14
- This was only a convenience function that shouldn't really have been exported to begin with, and is not necessary at all - bury it inside rpmte.c for now to hide lazy problem set allocation - In the other news of the day... According to git, this happens to be the 10000th commit to the master branch of this codebase. Happy anniversary to rpm :P
2010-03-26Push problem creation argument sanitation to the level belowPanu Matilainen5-32/+14
- rpmpsAppend() and rpmProblemCreate() have no use for fn/dn either, its just stored in one string internally - this is kinda unnecessary API break but these aren't used outside rpm so it doesn't make much difference
2010-03-26Sanitize rpmteAddProblem() argumentsPanu Matilainen3-18/+13
- lump fn/dn into one, in no case both are needed - move altNEVR earlier to lump the generic attribute foo last
2010-03-26Use the new problem set iterator where it makes more sensePanu Matilainen2-6/+9
2010-03-26Use rpmpsMerge() for collecting element problems in rpmtsProblems()Panu Matilainen1-10/+2
2010-03-26Add a simple and dumb rpmpsMerge() function to merge two problem setsPanu Matilainen2-0/+24
2010-03-26Add a saner rpmps iteration interfacePanu Matilainen2-8/+20
- simply return the actual problem objects from the iterator instead of "index" which is not usable for anything outside rpmps.c - implement rpmpsNexIterator() on top of the new rpmpsiNext() as backwards compatibility for now
2010-03-26Handle NULL and the same literal problem pointer in rpmProblemCompare()Panu Matilainen1-0/+4
- if the pointers to compare are the same, the problem is the same (even if NULL for our purposes) - if they're not the same and either is NULL then they're not the same
2010-03-26l10n: Updates to Polish (pl) translationPiotr Drąg1-5/+4
Transmitted-via: Transifex (www.transifex.net)
2010-03-25Update translations for the rpmps -> rpmprob splitPanu Matilainen26-2049/+2221
2010-03-25Split rpm problem type + its "methods" to separate source + headerPanu Matilainen8-347/+381
- rpmps is just something that stores rpm problems, problems themselves are individual and opaque "objects", deserving their own module
2010-03-25Add public function for testing problem equalityPanu Matilainen2-20/+30
- turn around sameProblem() return, pay more attention to details and make it public - use it in rpmpsTrim() too
2010-03-25Lose unused ignoreProblem from rpmProblem structPanu Matilainen1-10/+0
- this is an artifact from rpm 4.4.x-times, and even back then nothing used it, the only api to set it was in python bindings and.. eww - also killing this makes rpmpsTrim() do something semi-useful again
2010-03-25Minor cleanup to rpmpsGetProblem()Panu Matilainen1-3/+3
- avoid dumb pointer fiddles, ps->probs is just a bleeping array
2010-03-25Minor cleanup to rpmpsAppendProblem()Panu Matilainen1-4/+2
- dont bother adding NULL problems - avoid dumb pointer fiddles, ps->probs is just a bleeping array
2010-03-25Minor cleanup to rpmpsFreeIterator()Panu Matilainen1-2/+1
2010-03-25Dont bother allocating iterator if there's no data to iteratePanu Matilainen1-1/+1
2010-03-25Clean up verifyDependencies() a bit, no functional changesPanu Matilainen1-17/+14
- only init problem iterator if there are problems - use problems and nevra from the faked up transaction element - the return code is the number of problems, no need to count separately
2010-03-25Sanitize verifyscript handling a bitPanu Matilainen1-12/+6
- set the transaction scriptfd once in rpmcliVerify() instead of dupping and closing and dupping and closing for every verified package
2010-03-25Revert "Transaction element type is not a bitfield but a plain old enum"Panu Matilainen1-2/+2
- Element types are not a bitfield but they're declared this way to permit easy filtering on iteration. - This reverts commit 6ed64c001f667ad8fb8bdec01f5ca54f57c44270.
2010-03-24Add Epoch, Architecture and BugURL to rpm -qi and fix alignment (RhBug:575499)Jindrich Novy1-6/+16
2010-03-24l10n: Updates to Polish (pl) translationPiotr Drąg1-51/+4
Transmitted-via: Transifex (www.transifex.net)
2010-03-24Remove rpmteColorDS() from the API/ABIPanu Matilainen2-8/+2
- this gets called on transaction element initialization anyway, there's no reason why anybody should need to call it from outside
2010-03-24Document deprecation of mi.count() and ds.Count().Ville Skyttä2-2/+2
2010-03-24More here-doc skipping fixes for perl.req (#128).Ville Skyttä1-2/+2
2010-03-24Add RPMBUILD_ISFOO constants to python rpmb module (ticket #123)Panu Matilainen1-0/+6