From: Xinglu Chen <public@yoctocell.xyz>
To: 48667@debbugs.gnu.org
Cc: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: [bug#48667] [PATCH] doc: Expound on how to specify the version of a package.
Date: Wed, 26 May 2021 16:57:57 +0200 [thread overview]
Message-ID: <7a6a9bffa80fdfaa1e14015614cb638ff8cc7441.1622040691.git.public@yoctocell.xyz> (raw)
In-Reply-To: <06217762b07f95d2ba2d40277d010647a926df68.1622019402.git.public@yoctocell.xyz>
* doc/guix.texi (package Reference): Describe how packages that lack a release
or are pinned to an unreleased version should specify the ‘version’ field.
Add documentation for the ‘git-version’ procedure.
---
Changes since v1:
* Remove the case for “version 0”.
* Use @var{} instead of @code{} when appropriate, and @lisp instead of
@example.
* Be more specific about what to set COMMIT to. Git/Mercurial and
SVN/Bzr should be handled differently.
doc/guix.texi | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index e8b0485f78..9338136ebe 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -89,6 +89,7 @@ Copyright @copyright{} 2020 Jonathan Brielmaier@*
Copyright @copyright{} 2020 Edgar Vincent@*
Copyright @copyright{} 2021 Maxime Devos@*
Copyright @copyright{} 2021 B. Wilson@*
+Copyright @copyright{} 2021 Xinglu Chen@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -6651,7 +6652,21 @@ This is the data type representing a package recipe.
The name of the package, as a string.
@item @code{version}
-The version of the package, as a string.
+The version of the package, as a string. If there are no releases of
+the package, or a unreleased version is desired, the version should
+contain @samp{@var{VERSION}-@var{REVISION}.@var{COMMIT}}. @var{VERSION}
+is the version of the package, and @var{REVISION} is the revision of the
+Guix package (@code{0} if it is a new package). Whenever the package is
+updated to a newer version the revision should also be bumped to reflect
+the fact that package has been updated. If the fetch method for the
+package is @code{git-fetch} or @code{hg-fetch} (@pxref{origin
+Reference}), @var{COMMIT} should be the @dfn{commit} or @dfn{changeset}
+corresponding to the version, it should only contain 7 characters. If
+the fetch method is @code{git-fetch}, there is the @code{git-version}
+procedure (see below) that makes it easier to specify the version.
+Packages which use @code{svn-fetch} or @code{bzr-fetch} should set
+@var{COMMIT} to the same value as the @code{revision} field in
+@code{svn-reference} or @code{bzr-reference}.
@item @code{source}
An object telling how the source code for the package should be
@@ -6757,6 +6772,15 @@ automatically corrected.
@end table
@end deftp
+@deffn {Scheme Procedure} git-version @var{VERSION} @var{REVISION} @var{COMMIT}
+Return the version string for packages using @code{git-fetch}.
+
+@lisp
+(git-version "0.2.3" "0" "93818c936ee7e2f1ba1b315578bde363a7d43d05")
+@result{} "0.2.3-0.93818c9"
+@end lisp
+@end deffn
+
@deffn {Scheme Syntax} this-package
When used in the @emph{lexical scope} of a package field definition, this
identifier resolves to the package being defined.
base-commit: 3f2a4b098039bd374c76d524223de3c6c475f23e
--
2.31.1
next prev parent reply other threads:[~2021-05-26 14:59 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-26 9:00 [bug#48667] [PATCH] doc: Expound on how to specify the version of a package Xinglu Chen
2021-05-26 13:06 ` Nicolas Goaziou
2021-05-26 14:07 ` Xinglu Chen
2021-05-26 14:57 ` Xinglu Chen [this message]
2021-06-05 20:29 ` Ludovic Courtès
2021-06-06 9:09 ` Xinglu Chen
2021-06-06 9:19 ` [bug#48667] [PATCH] doc: Add reference for ‘git-ver Xinglu Chen
2021-06-06 9:48 ` Maxime Devos
2021-06-06 10:33 ` Xinglu Chen
2021-06-06 10:37 ` [bug#48667] [PATCH v2] doc: Add refernece for ‘git-version’ and ‘hg-version’ Xinglu Chen
2021-06-06 12:36 ` bug#48667: " Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7a6a9bffa80fdfaa1e14015614cb638ff8cc7441.1622040691.git.public@yoctocell.xyz \
--to=public@yoctocell.xyz \
--cc=48667@debbugs.gnu.org \
--cc=mail@nicolasgoaziou.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).