On 02/11/13 03:14, Maxime Gauduin wrote: > On Fri, Nov 1, 2013 at 2:42 AM, William Giokas <[email protected]> wrote: > >> On Fri, Nov 01, 2013 at 11:33:31AM +1000, Allan McRae wrote: >>> I am proposing we include this PKGBUILD-vcs.proto into pacman (after >>> removing the pointer to the Arch wiki). >>> >>> Comments? >>> >>> Allan >>> >>> >>> -------- Original Message -------- >>> Subject: [arch-projects] [ABS] [PATCHv2] Merge bzr, git, hg and svn into >>> a generic proto >>> Date: Tue, 8 Oct 2013 16:13:25 +0200 >>> From: Maxime Gauduin <[email protected]> >>> Reply-To: Arch Linux projects development discussion >>> <[email protected]> >>> To: [email protected] >>> >>> Having separate prototypes for each VCS type is no longer relevant since >>> Pacman 4.1. Having a generic prototype for regular, bzr, git hg and svn >>> packages makes more sense. Left cvs, and darcs protos untouched as they >>> are not yet supported in Pacman. >>> >>> Signed-off-by: Maxime Gauduin <[email protected]> >>> --- >>> prototypes/PKGBUILD-bzr.proto | 64 ---------------------------- >>> prototypes/PKGBUILD-git.proto | 64 ---------------------------- >>> prototypes/PKGBUILD-hg.proto | 65 ---------------------------- >>> prototypes/PKGBUILD-svn.proto | 63 ---------------------------- >>> prototypes/PKGBUILD-vcs.proto | 98 >>> +++++++++++++++++++++++++++++++++++++++++++ >>> 5 files changed, 98 insertions(+), 256 deletions(-) >>> delete mode 100644 prototypes/PKGBUILD-bzr.proto >>> delete mode 100644 prototypes/PKGBUILD-git.proto >>> delete mode 100644 prototypes/PKGBUILD-hg.proto >>> delete mode 100644 prototypes/PKGBUILD-svn.proto >>> create mode 100644 prototypes/PKGBUILD-vcs.proto >>> >>> <snip> >>> >>> diff --git a/prototypes/PKGBUILD-vcs.proto >> b/prototypes/PKGBUILD-vcs.proto >>> new file mode 100644 >>> index 0000000..805f4ff >>> --- /dev/null >>> +++ b/prototypes/PKGBUILD-vcs.proto >>> @@ -0,0 +1,98 @@ >>> +# This is an example PKGBUILD file. Use this as a start to creating >>> your own, >>> +# and remove these comments. For more information, see 'man PKGBUILD'. >>> +# NOTE: Please fill out the license field for your package! If it is >>> unknown, >>> +# then please put 'unknown'. >>> + >>> +# The following guidelines are specific to BZR, GIT, HG and SVN >> packages. >>> +# CVS and DARCS are not natively supported in pacman yet, please refer >>> to the >>> +# dedicated prototypes instead. >>> +# See http://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines for >> more >>> +# information on packaging from VCS sources. >>> + >>> +# Maintainer: Your Name <[email protected]> >>> +pkgname=NAME-VCS # '-bzr', '-git', '-hg' or '-svn' >>> +pkgver=VERSION >>> +pkgrel=1 >>> +pkgdesc="" >>> +arch=() >>> +url="" >>> +license=('GPL') >>> +groups=() >>> +depends=() >>> +makedepends=('VCS_PACKAGE') # 'bzr', 'git', 'mercurial' or 'subversion' >>> +provides=("${pkgname%-VCS}") >>> +conflicts=("${pkgname%-VCS}") >>> +replaces=() >>> +backup=() >>> +options=() >>> +install= >>> +source=('DIR_NAME::VCS+REPO_URL#FRAGMENT') >>> +noextract=() >>> +md5sums=('SKIP') >>> + >>> >> +################################################################################ >>> + >>> +# DIR_NAME: Use to change the source directory name if needed >>> + >>> +# VCS: Use to specify the VCS type, not needed when REPO_URL is >>> explicit (for >>> +# example git://URL, svn://URL or lp:NAME) >>> + >>> +# FRAGMENT: Use to pull a specific branch, commit/revision or tag >>> +# Bazaar accepts the 'revision' keyword >>> +# Git accepts the 'branch', 'commit' and 'tag' keywords >>> +# Mercurial accepts the 'branch', 'revision' and 'tag' keywords >>> +# Subversion accepts the 'revision' keyword >>> + >>> +# Examples: >>> +# source=("lp:${pkgname%-bzr}#revision=42") >>> +# >>> source=("git+ >> https://github.com/author/${pkgname%-git}.git#branch=unstable") >>> +# source=('hg+https://bitbucket.org/author/project#tag=2.0') >>> +# source=("${pkgname%-svn}::svn://svn.code.sf.net/p/project/code/trunk >> "} >>> + >>> >> +################################################################################ >>> + >>> +pkgver() { >>> + cd "$srcdir/${pkgname%-VCS}" >>> + >>> +# Bazaar >>> + printf "%s" "$(bzr revno)" >>> + >>> +# Git, tags available >>> + printf "%s" "$(git describe --long | sed 's/-/./g')" >>> + >>> +# Git, no tags available >>> + printf "%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse >>> --short HEAD)" >>> + >>> +# Mercurial >>> + printf "%s.%s" "$(hg identify -n)" "$(hg identify -i)" >>> + >>> +# Subversion >>> + printf "%s" "$(svnversion | tr -d 'A-z')" >>> + >>> +# Fallback >>> + printf "%s" "$(date +%Y%m%d)" >>> +} >> >> Do not include this. There has been a lot of discussion about what is >> right for this, and I would say that it's best to leave this as a >> commented out function. The user creating the PKGBUILD should tailor >> this to the VCS and package they are using. >> >> > > Can't we leave some as examples? I agree they're in no way absolute rules > because they can't fit every situation, but still they're a starting point. >
I initially thought that the "do not include this" was referring to the fallback. That I could agree with removing, but not the entire function. Allan
