Age | Commit message (Collapse) | Author | Files | Lines |
|
- This allows much nicer handling some common scenarios such as
upstream pre-releases where the pre-release version would normally
appear newer than final release, eg 1.0-rc1 vs 1.0. Previously this
required mapping the pre-release tag into the release tag to achieve
desired sorting, with tild this becomes simply 1.0~rc1 < 1.0.
- Add a rpmlib() tracking dependency to prevent older rpm versions
from getting confused with packages relying on the new behavior.
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
|
|
- Add support for new "OrderWithRequires: foo" spec syntax
which has "if and only if foo is present in transaction, order
the transaction as if this package required foo" semantics.
While it looks, and in some ways is, a soft dependency, this
is not the same as recommends/suggests etc: those have unknown
depsolver policy dependent semantics attached to them, whereas
ordering hints have a clear definition and is only relevant for rpm
itself, depsolvers should not even look at the data.
- This allows packages to express correct ordering for optional
functionality, such as
%post
if [ -x %{_bindir}/register-component ]; then
%{_bindir}/register-component %{name}
fi
If the package containing %{_bindir}/register-component is included
in the same transaction, it makes sense to have it installed before the
package(s) that use it. But as it is fully optional, Requires would
not be appropriate. Using OrderWithRequires allows this to be expressed
without dragging in extraneous dependencies for optional functionality.
|
|
- Every single package since rpm >= 3.0.4 or so has a versioned provide
through the automatically added N = VR provide, which hasn't gotten
tracked in all these years. Drop the useless dependency.
|
|
- Automatically generated dependencies do not relate to spec lines,
use different error reporting for manually vs automatically added
dependencies.
|
|
- Many of these cases would be true enums from preambleList & similar,
except for the list terminating sentinel. Just switch all the
remaining rpmTag's to rpmTagVals to bring our enum-whacking to
a grande finale.
|
|
- Doesn't matter what the value is, the switch (somewhat hysterically)
makes it default to RPMTAG_REQUIRENAME in unknown cases anyway
|
|
- Yank everything qualifying as "internal helper function" into
internal-only headers, loosely grouped as follows:
1) Everything involving spec-manipulation goes into rpmbuild_internal.h
2) All other miscellaneous helpers go into rpmbuild_misc.h
- This leaves us a rather minimal, and nearly useful API into librpmbuild:
Users need to be able to parse a spec, query or build (parts of) it
and free up the spec structure when done. This is what we have now,
various still exposed structures not counting.
|
|
- addReqProv() only operates on the header, not spec
|
|
- everything but buildrequires goes to pkg->header, no point having
this separately set in each case
|
|
|
|
- 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
|
|
|
|
- For now, let %{} characters through our valid character set checks
on specs. This isn't right really, but unexpanded, unrelated macros
in spec can now cause failure to parse out buildrequires which would
allow those macros to be expanded. This needs a better fix.
|
|
|
|
|
|
|
|
- don't check Name but EVR in parseRCPOT()
- use rpm namespacing for charCheck()
- remove unused variable
|
|
|
|
- this gives a more reasonable mapping to former behavior of PreReq
when cutting loops
|
|
|
|
- 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.
|
|
|
|
|
|
- just avoids manual zero-termination
|
|
|
|
|
|
- cast away a few cases where the enum usage causes ridiculous amount
of compiler warnings from unhandled switch-cases
|
|
- explicitly include what's really needed instead
- document remaining uses
|
|
Ported from rpm5.org work of Jeff Johnson to 4.4.x by Pascal Rigaux,
further adopted to fit HEAD...
|
|
- typedef'ed as int32_t for now, negative values used in some places for
error cases
- easy to grep, easy to change...
- add RPMTAG_NOT_FOUND define, used in place of -1 "magic",
|
|
- adjust include paths accordingly
|
|
- additionally use rpmRC return types instead of numbers where appropriate
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVS patchset: 7476
CVS date: 2004/10/17 18:44:15
|
|
- permit Obsoletes: /path/to/file.
CVS patchset: 7474
CVS date: 2004/10/17 18:24:36
|
|
CVS patchset: 7438
CVS date: 2004/10/09 18:23:00
|
|
CVS patchset: 5937
CVS date: 2002/12/12 19:16:45
|
|
Start narrowing the scope of bounds annotations by adding more annotations.
CVS patchset: 5537
CVS date: 2002/07/02 23:54:35
|
|
CVS patchset: 5113
CVS date: 2001/10/15 17:53:34
|
|
CVS patchset: 5106
CVS date: 2001/10/15 03:22:10
|
|
CVS patchset: 5105
CVS date: 2001/10/13 22:01:38
|
|
CVS patchset: 4834
CVS date: 2001/06/05 19:26:22
|
|
CVS patchset: 4732
CVS date: 2001/04/30 22:32:22
|
|
- internalize locale insensitive ctype(3) in rpmio.h
- boring lclint annotations and fiddles.
CVS patchset: 4721
CVS date: 2001/04/29 01:05:43
|