No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{draft}} | {{draft}} | ||
== Executive Summary == | == Executive Summary == | ||
Line 36: | Line 37: | ||
#VCS: git:git://git.clutter-project.org/clutter#clutter-1.0 | #VCS: git:git://git.clutter-project.org/clutter#clutter-1.0 | ||
== Discussion == | == Potential Problems == | ||
* Some packages do not have a direct correspondence between source tarballs and version control (e.g. translations come from somewhere else) | |||
* There are a wide variety of version control systems in use, and it's an open question to what extent we should "support" the more obscure ones | |||
== Further 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 drafts]] | [[Category: Packaging guidelines drafts]] |
Revision as of 17:22, 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
Potential Problems
- Some packages do not have a direct correspondence between source tarballs and version control (e.g. translations come from somewhere else)
- There are a wide variety of version control systems in use, and it's an open question to what extent we should "support" the more obscure ones
Further 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.