私はAURでatom-editor-gitPKGBUILDに取り組んでおり、それをAtomはgvim-gitPKGBUILDと同等です。gvim-gitPKGBUILDがパッケージバージョンを更新するたびに更新することを望んでいます。 gVimの最新リリースで実行されます。たとえば、今すぐ実行すると、gVim 7.4.1236のパッケージがビルドされます。ただし、atom-editor-git PKGBUILDは、パッケージバージョン_1.4.0.r653.g41029f6
_を返します。 _1.4.2
_がAtomの最新リリースの場合、gvim-gitはこのpkgver()
関数を使用します。
_pkgver() {
cd $_pkgname
git describe --tags | sed 's/^v//;s/-/./g'
}
_
一方、atom-editor-gitは以下を使用します。
_pkgver() {
cd "$srcdir/atom"
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
}
_
明らかな解決策は、atom-editor-git PKGBUILDでgit describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/^v//'
を_git describe --tags | sed 's/^v//;s/-/./g'
_に置き換えることですが、 Atom gitリポジトリ で_git describe --tags | sed 's/^v//;s/-/./g'
_を実行すると次のようになります。
_1.4.0.653.g41029f6
_
これは私が望む形式(_1.4.2
_)ではないので、Atomの最新リリースをパッケージ化するためにatom-editor-gitを取得する必要があるのは代替gitであると思われますpkgver()
関数の行であり、それが私がここにいる目的です。明確にするために、pkgver()
が_1.4.2
_を、_v1.4.2
_または_v1.4.2-1-<COMMIT>
_ここで、_<COMMIT>
_は7文字のコミットの短い記述子です。
Atomは安定したリリースビルドにstable
ブランチを使用するため、リリースの最新のタグを見つけるには、そのブランチを確認する必要があります。
$ git describe --tags stable
v1.4.2-1-ge9db64c
対応するタグを取得するには、すべてを最初の-
まで保持します。
$ git describe --tags stable | cut -d- -f1
v1.4.2
先頭にv
がないバージョンを取得するには、それを取り除きます。
$ git describe --tags stable | cut -d- -f1 | sed 's/^v//'
1.4.2