Debian package naming
corsac at debian.org
Fri Aug 1 06:16:06 CDT 2008
On Fri, Aug 01, 2008 at 05:22:25PM +0700, Fajar A. Nugraha wrote:
> That's the part that got me confused :)
> For example, rpmforge has dkms-fuse-2.7.3-1.nodist.rf, which puts fuse
> module version 2.7.3-1.nodist.rf (as shown on dkms status). When I say
> "dkms RPM package contain the module source, not compiled binary", I was
> actually referring to those packages.
> module-assistant build binary-only module packages, something like
> which is very small (since it contaions only the .ko and some
> documentation), and can be installed on another ubuntu machine without
> the need of dkms, build tools, or module-assistant installed. I assumed
> this was what Yves-Alexis wanted.
Yes, I thought the debs made from dkms only contained binary modules,
while in fact they contains a dkms archive which in turns contains
modules sources _and_ modules binaries. But you still need dkms
installed on the box before.
> Back to the topic. "dkms mkrpm" is supposed to create rpm package for
> the specific module version, right? On redhat/centos, "dkms mkrpm -m
> fuse -v 2.7.3-1.nodist.rf" results in
> Error! There was a problem creating your rpm.
> error: line 11: Illegal char '-' in version: Version: 2.7.3-1.nodist.rf
> So as a suggestion to Mario, since dkms RPMs (at least the ones from rf)
> includes their release number in module version, it might be wise to
> also add a patch that removes those release string when "dkms mkrpm" is
Ok so both deb and rpm have restrictions on characters used, one on
package name, the other on package version. Maybe it's worth adding some
checks/replacement which would be ok in both cases.
* name = [a-z],[0-9],+,-,.
* version = [epoch:]upstream_version[-debian_revision]
- epoch = [0-9]
- upstream_version = [[:alpha:]],.,+,-,:,~ and should start by a digit.
If there's no epoch, upstream_version can't contain :
- debian_revision = [[:alpha::]],+,.,~
If there's no debian revision (native package, which should not be
the case for modules) then upstream_version can't contain -
In all characteres above, the ',' is the separator, it's not an allowed
You can find more info there:
More information about the DKMS-devel