(Grrr... discussion happening in an unrelated fesco ticket) |
No edit summary |
||
Line 1: | Line 1: | ||
= Executive Summary = | {{draft}} | ||
== Executive Summary == | |||
This proposal is to add an informative comment to the Fedora spec files, of the form: | This proposal is to add an informative comment to the Fedora spec files, of the form: | ||
Line 9: | Line 10: | ||
#VCS: git:git://git.gnome.org/metacity | #VCS: git:git://git.gnome.org/metacity | ||
= Rationale = | == Rationale == | ||
Currently spec files have a lot of metadata about the upstream project; however it lacks one of the most important, which is the upstream revision control system. | Currently spec files have a lot of metadata about the upstream project; however it lacks one of the most important, which is the upstream revision control system. | ||
Line 20: | Line 21: | ||
* In the more distant future, reworking Fedora's packaging to be more VCS-centric (i.e. having a mirror of upstream VCS instead of series of inefficient tarball snapshots in lookaside cache) | * In the more distant future, reworking Fedora's packaging to be more VCS-centric (i.e. having a mirror of upstream VCS instead of series of inefficient tarball snapshots in lookaside cache) | ||
= Implementation = | == Implementation == | ||
Because RPM only allows a well-known set of keys, this proposal introduces the key with a comment prefix, to ensure that older RPM versions do not complain. A patch has been [[http://rpm.org/ticket/143 submitted upstream]] however. | Because RPM only allows a well-known set of keys, this proposal introduces the key with a comment prefix, to ensure that older RPM versions do not complain. A patch has been [[http://rpm.org/ticket/143 submitted upstream]] however. | ||
Line 28: | Line 29: | ||
Supported implementation formats: | Supported implementation formats: | ||
=== git === | |||
The ''<vcsurl>'' part should be in a format which '''git clone''' as of Git 1.6.6 will accept, with the additional qualifier that the URL may have a fragment identifer which denotes a branch. Examples: | The ''<vcsurl>'' part should be in a format which '''git clone''' as of Git 1.6.6 will accept, with the additional qualifier that the URL may have a fragment identifer which denotes a branch. Examples: | ||
Line 35: | Line 36: | ||
#VCS: git:git://git.clutter-project.org/clutter#clutter-1.0 | #VCS: git:git://git.clutter-project.org/clutter#clutter-1.0 | ||
== Discussion == | |||
Unfortunately, some questions were raised here: https://fedorahosted.org/fesco/ticket/353 Wait until that dies down and then make sure those questions get asked and addressed here. | Unfortunately, some questions were raised here: https://fedorahosted.org/fesco/ticket/353 Wait until that dies down and then make sure those questions get asked and addressed here. | ||
[[Category: Packaging guidelines draft]] |
Revision as of 03:26, 11 March 2010
Executive Summary
This proposal is to add an informative comment to the Fedora spec files, of the form:
#VCS: <vcstype>:<vcsurl>
Example:
#VCS: git:git://git.gnome.org/metacity
Rationale
Currently spec files have a lot of metadata about the upstream project; however it lacks one of the most important, which is the upstream revision control system.
Adding this data will allow:
- Cherrypicking a patch directly from the upstream VCS
- Correspondence checking between source tarballs and VCS checkouts
- Automated build scripts to update the spec from VCS
- In the more distant future, reworking Fedora's packaging to be more VCS-centric (i.e. having a mirror of upstream VCS instead of series of inefficient tarball snapshots in lookaside cache)
Implementation
Because RPM only allows a well-known set of keys, this proposal introduces the key with a comment prefix, to ensure that older RPM versions do not complain. A patch has been [submitted upstream] however.
The key format has been influenced by the [Maven SCM format], however we drop the redundant "scm:" prefix.
Supported implementation formats:
git
The <vcsurl> part should be in a format which git clone as of Git 1.6.6 will accept, with the additional qualifier that the URL may have a fragment identifer which denotes a branch. Examples:
#VCS: git:http://example/~you/proj.git #VCS: git:git://git.clutter-project.org/clutter#clutter-1.0
Discussion
Unfortunately, some questions were raised here: https://fedorahosted.org/fesco/ticket/353 Wait until that dies down and then make sure those questions get asked and addressed here.