[Fedora-packaging] [Proposal] Spec file name revision

Toshio Kuratomi a.badger at gmail.com
Fri Feb 9 02:29:30 UTC 2007


Here's a proposed policy change for spec file name matching the package
name.  Basically, it allows us to grandfather in specs from Core that
use the %{name}%{MajorVer}.spec format until A) the spec can be renamed
and keep its revision controlled history or B) the spec would have been
renamed due to MajorVer upgrades in the package.

= Spec File Naming =

Draft: 0.1

This text will appear on:
 http://www.fedoraproject.org/wiki/Packaging/NamingGuidelines
and be linked from:
 http://www.fedoraproject.org/wiki/Packaging/ReviewGuidelines

It was discussed in this review bug:
 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225778

== Rationale ==
The name of a spec file currently has to match the name of the generated
package.  This is for two reasons:
 1. Preserve history of changes to a spec file in the revision control
system.
 2. Make it easy for someone extracting an rpm to know what spec
filename they need to look for.

During the Core merge, some packages which are presently using the
%{name}%{version}.spec format will lose history if forced to change.
This change provides a temporary exception for those packages.

== Text of Change ==
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.

Example:
   {{{
If your package is named foo-1.0.0-1.src.rpm, then the spec file should
be named foo.spec.
}}}

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.

As a special exception, there are a few packages which are allowed to
have a version in their spec filename.  This is because they had the
version in their name when they were merged from Fedora Core's cvs and
removing the version at that time would *lose* history:
  * gcc
  * [Please ask the packaging committee to add your package if you think
it should also fall under this exception.]

This exception will go away when any of the following criteria are met:
 1. We move the packages to a revision control system which is able to
preserve history across a file rename.
 1. The package spec file is going to be renamed anyway (for example,
gcc41.spec is imported into cvs.  When gcc is upgraded to gcc-4.2, the
new spec will be created as gcc.spec '''not''' gcc42.spec)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://listman.redhat.com/archives/fedora-packaging/attachments/20070208/6d58c5c8/attachment.sig>


More information about the Fedora-packaging mailing list