On Mon, Jul 28, 2003 at 11:21:20PM +0300, Ville Skyttä wrote:
rpm-4.2-1 on Shrike:
$ rpmbuild -bb foo.spec
error: line 8: Dependency tokens must begin with alpha-numeric, '_' or
'/': Requires: %{epoch}:1-1.0
Bah, pure syntax, packaging error. Try
Requires: %{name} = %{?epoch:%{epoch}:}%{version}
If epoch exists, than prefix with epoch value and ':' etc, etc
And this syntax is supported (or broken ;-), in almost all rpm releases back
to rpm-3.0.
I can apply that. But why? rpm has already applied the rule, why do I
Above is a rule that applies. If epoch is used, then add; otherwise don't
bother.
have to remember to apply it? Why not go all the way and make it
explicit and clear everywhere by always outputting "0" instead of
"(none)" (eg. in --qf %{epoch}) or leaving it out altogether as in the
example above?
Just for the record, here is the exact output of the case above, on a
Shrike box after upgrading to rpm-4.2.1-0.15.fdr.1:
# rpm -q --qf "%{name}-%{epoch}:%{version}-%{release}\n" glib
glib-1:1.2.10-10
# rpm -Uvh glib-devel-1.2.10-10.i386.rpm
error: Failed dependencies:
glib = 1.2.10 is needed by glib-devel-1.2.10-10
Yes, *I know* there's a missing "1:" in this particular
glib-devel-to-glib-dependency but why isn't the error message the
following, IMO less confusing one?
error: Failed dependencies:
glib = 0:1.2.10 is needed by glib-devel-1.2.10-10
Not annoyed, Epoch: just gets old sometimes.
73 de Jeff
--
Jeff Johnson ARS N3NPQ
jbj(a)redhat.com (jbj(a)jbj.org)
Chapel Hill, NC