RPM building section of RHL's developer guide

Jeff Johnson jbj at redhat.com
Mon Jul 28 20:51:47 UTC 2003


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 at redhat.com (jbj at jbj.org)
Chapel Hill, NC





More information about the fedora-devel-list mailing list