web-dev-qa-db-ja.com

PKGBUILDでサブモジュールリビジョンを指定します

インストールしようとしています hhvm-git AURからのパッケージで、エラーが発生します。サブモジュールの1つにバグがあります。このバグはすでに修正されており、サブモジュールの修正が含まれているリビジョンを指定したいと思います。どうやってやるの?

PKGBUILDで、 Arch Wikisource配列の行)で提案されているようにリビジョンを指定しようとしました:

"git+https://github.com/facebook/proxygen#7e37f926d922b55c85537057b57188dea9694c32"

結果:

  -> Creating working copy of proxygen git repo...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 6 (delta 4), reused 0 (delta 0)
Unpacking objects: 100% (6/6), done.
From /tmp/yaourt-tmp-german/aur-hhvm-git/proxygen
   7e2a49c..3395064  master     -> Origin/master
==> ERROR: Unrecognized reference: 7e37f926d922b55c85537057b57188dea9694c32
4

間違った形式でリビジョンを指定しました。私の場合の正しい形式は次のとおりです。

"git+https://github.com/facebook/proxygen#commit=7e37f926d922b55c85537057b57188dea9694c32"

man PKGBUILDから:

VCSソースの使用

バージョン管理システム(VCS)からのソースを使用してパッケージの開発バージョンを構築するには、source =( 'directory :: url#fragment')の形式でソースを指定します。現在、makepkgは、Bazaar、Git、Subversion、およびMercurialのバージョン管理システムをサポートしています。他のバージョン管理システムの場合、アップストリームリポジトリの手動クローン作成はprepare()関数で実行する必要があります。

ソースURLは次の3つのコンポーネントに分かれています。

  • ディレクトリ
    (オプション)VCSソースをダウンロードするmakepkgの代替ディレクトリ名を指定します。
  • rl
    VCSリポジトリへのURL。 makepkgがこれをVCSソースとして認識するためには、URLプロトコルにVCSを含める必要があります。プロトコルにVCS名が含まれていない場合は、URLの前にvcs +を付けることで追加できます。たとえば、HTTPS経由でGitリポジトリを使用すると、ソースURLはgit + https:// ...の形式になります。
  • フラグメント
    (オプション)makepkgがVCSからチェックアウトするためのリビジョン番号またはブランチを指定できます。たとえば、特定のリビジョンをチェックアウトするには、ソース行の形式はsource =(url#revision = 123)になります。使用可能なフラグメントは、使用されているVCSによって異なります:
    • bzr:リビジョン(詳細については、「bzrヘルプrevisionspec」を参照してください)
    • git:ブランチ、コミット、タグ
    • hg:ブランチ、リビジョン、タグ
    • svn:リビジョン
4