
Arch Linuxに移行する準備をしています。 AURのパッケージを見ると、「project-name-git date」という名前付けスキームに従うパッケージがたくさんあります。たとえば、次のようになります。
adonthell-git 20100408-1
akonadi-facebook-git 20111117-1
wesnoth-svn 40587-1
vimprobable-git 20110829-1
vimprobable2-git 20111214-1
このパッケージは何ですか?特定時点のadonthell/wesnoth/etcリポジトリのスナップショットですか?その場合、パッケージ名を変更しないとパッケージを更新できないため、パッケージ管理がさらに複雑になります。
gitリポジトリに最新バージョンのvimprobableが必要な場合は、AURを使用する必要がありますか、それとも直接コンパイルする必要がありますか?
答え1
要するに:パッケージをビルドすると、Gitリポジトリの最新バージョンになります。これはで自動的に処理されますmakepkg
。
パッケージPKGBUILD
のファイルを次から読みます-git
(例:アドンテルの子)、あなたは見ることができます:
cd $_gitname && git pull origin
msg "The local files are updated."
したがってmakepkg
、実行されるたびにGitリポジトリから最新バージョンをダウンロードします。
このpkgver
パラメーターは、最終パッケージにバージョン番号が必要なため必要です。makepkg
ここではPKGBUILD
日付が最適です。
Gitのパッケージであることが検出されると、makepkg
それに応じて特別なケースが処理されます。
(makepkg
関数の1687-1771行devel_check
)
elif [[ -n ${_gitroot} && -n ${_gitname} ]] ; then
if ! type -p git >/dev/null; then
warning "$(gettext "Cannot find the %s binary required to determine latest %s revision.")" "git" "git"
return 0
fi
msg "$(gettext "Determining latest %s revision...")" 'git'
newpkgver=$(date +%Y%m%d)
[その他多くの事例が切り捨てられるdarcs
などhg
… svn
]
(makepkg
関数1773-1792行devel_update
)
# This is lame, but if we're wanting to use an updated pkgver for
# retrieving svn/cvs/etc sources, we'll update the PKGBUILD with
# the new pkgver and then re-source it. This is the most robust
# method for dealing with PKGBUILDs that use, e.g.:
したがって、バージョン番号が作成された日付のパッケージが作成されます。
答え2
Git 日付の使用は、他の形式のバージョン番号の使用と同様に有効です。
最新バージョンのパッケージ/プログラムを入手する方法については、gitからダウンロードして直接コンパイルするのが、おそらく「最新」バージョンのパッケージを取得する最良の方法でしょう。
一方、少なくともある程度テストされ、ある程度安定していることが確認されたコンパイルされたバージョンが必要な場合は、リポジトリのパッケージをお勧めします。