Age | Commit message (Collapse) | Author | Files | Lines |
|
- 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.
|
|
- 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.
|
|
|
|
- dont make assumptions about which bits can be enabled simultaneously,
just dump 'em all
|
|
|
|
- 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...
|
|
- everything but buildrequires goes to pkg->header, no point having
this separately set in each case
|
|
|
|
- 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
|
|
- 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
|
|
- the naming between header/rpmte/rpmds "instance" is wonderfully
inconsistent... oh well
|
|
|
|
- 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
|
|
- allows nicer handling of ds instance without special cases
|
|
- 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
|
|
Transmitted-via: Transifex (www.transifex.net)
|
|
- fixes regression from commit 12392d93e2006ac63f918a154f29283a14fb98cf
|
|
- currently unused but allows tracking things like file conflicts
back to the originating header directly from the problem set
|
|
- 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
|
|
|
|
- checkPackageSet() got refactored out of being useful standalone
while I wasn't looking :)
|
|
|
|
- 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...
|
|
- 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.
|
|
- 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
|
|
- 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
|
|
- lump fn/dn into one, in no case both are needed
- move altNEVR earlier to lump the generic attribute foo last
|
|
|
|
|
|
|
|
- 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
|
|
- 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
|
|
Transmitted-via: Transifex (www.transifex.net)
|
|
|
|
- rpmps is just something that stores rpm problems, problems themselves
are individual and opaque "objects", deserving their own module
|
|
- turn around sameProblem() return, pay more attention to details
and make it public
- use it in rpmpsTrim() too
|
|
- 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
|
|
- avoid dumb pointer fiddles, ps->probs is just a bleeping array
|
|
- dont bother adding NULL problems
- avoid dumb pointer fiddles, ps->probs is just a bleeping array
|
|
|
|
|
|
- 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
|
|
- set the transaction scriptfd once in rpmcliVerify() instead of
dupping and closing and dupping and closing for every verified package
|
|
- Element types are not a bitfield but they're declared this way to
permit easy filtering on iteration.
- This reverts commit 6ed64c001f667ad8fb8bdec01f5ca54f57c44270.
|
|
|
|
Transmitted-via: Transifex (www.transifex.net)
|
|
- this gets called on transaction element initialization anyway,
there's no reason why anybody should need to call it from outside
|
|
|
|
|
|
|