AURの「* -git date」パッケージはどうなっていますか?


10

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
日付はパッケージ名の一部ではなく、バージョン番号です(日付が使用される理由は回答に記載されています)。
ヴィーランド

回答:


9

つまり、パッケージをビルドするだけで、gitリポジトリからの最新バージョンになります。これはによって自動的に処理されmakepkgます。

パッケージのPKGBUILDファイルを読み取ると-git(たとえばadonthell-gitの場合)、次のように表示されます。

cd $_gitname && git pull origin
msg "The local files are updated."

したがって、実行されるたびにmakepkg、gitリポジトリから最新バージョンがダウンロードされます。

pkgverので、パラメータがあるmakepkgにバージョン番号が必要ですPKGBUILDし、最終的なパッケージでは、ここで最も意味のあるのは日付です。

gitのパッケージであることが検出されたmakepkg場合は、それに応じて特殊なケースを処理します。

(1687〜1771行目makepkg、関数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)

[他の例切り取らロットのdarcshgsvn等...]

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.:

したがって、バージョン番号がビルド時の日付であるパッケージが作成されます。


ありがとう。これは、それpacman -Syuが新しいバージョンの存在を自動的に検出して再度コンパイルしないことを意味しますか?
アンナ

正確には、自分で新しいバージョンを確認する必要があります。ただし、パッケージを再構築するだけでアップグレードできます。
レナン

2

Gitの日付の使用は、他の形式のバージョン番号の使用と同じくらい有効です。

パッケージ/プログラムの最新バージョンを取得する方法については、gitからダウンロードし、おそらく「最新」バージョンのパッケージを取得する最善の方法である場合は、自分でコンパイルします。

一方、少なくともわずかにテストされ、適度に安定しているコンパイル済みのバージョンが必要な場合は、リポジトリのパッケージをお勧めします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.