[Fedora-packaging] Spec file naming

Jason L Tibbitts III tibbs at math.uh.edu
Tue Jul 28 16:50:18 UTC 2015


I filed https://fedorahosted.org/fpc/ticket/553 to tighten up the naming
of spec files.  Currently the guidelines are a little loose with regards
to this.  I thought we tightened them up a long time ago, but I guess
not.

Here is the contents of the ticket to save you a click:

I thought that at some point we tightened up the spec naming to
absolutely require that the specfile for package asdfg be called
asdfg.spec.  However, the current guidelines say:

  The spec file should be named using the %{name}.spec scheme. This is
  to make it easier for people to find the appropriate spec when they
  install a src.rpm.

  There is normally no need to include the %{version} in the spec file
  name. If you are packaging multiple versions of a package for
  simultaneous use, they should already reflect the version in the
  %{name}.spec scheme (refer to Multiple Packages with the same base
  %name for details). In normal cases adding the version can cause the
  %spec file's history to be lost when a package's version is upgraded.

https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Spec_file_name

On IRC today it was mentioned that fedpkg will look for any spec and
pick the first one it finds (in os.istdir() order, so it's pretty much
random).  I'm thinking we should just tighten up the language here to
say that you must call the spec %{name}.spec, and in addition move that
section to the main guidelines.

Or am I missing something?  If there's a valid reason for having a
differently-named spec file, I can think of what it would be.  This
would allow fedpkg to tighten up its method for finding the spec file,
which would in turn allow people to check in other files named *.spec
(for local edits or different compilation options, for example) without
fear of fedpkg picking the wrong one.

Proposed language:

  The spec file '''must''' be named <code>%{name}.spec</code>.  That is,
  if your package is named <code>asdfg</code>, the spec file must be
  named <code>asdfg.spec</code>.

Placed in a section "Spec Naming" just before "Spec Legibility" in the
main guidelines page.

 - J<



More information about the packaging mailing list