5

I'm trying to install hhvm-git package from AUR and getting an error. There is a bug in one of submodules. This bug is fixed already and I want to specify revision contains that fix for the submodule. How can I do that?

In PKGBUILD I tried to specify revision as suggested in Arch Wiki (line in source array):

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

Result:

  -> 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
German Lashevich
  • 225
  • 2
  • 12

2 Answers2

5

I specified revision in wrong format. Correct format in my case is:

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

From man PKGBUILD:

USING VCS SOURCES

Building a developmental version of a package using sources from a version control system (VCS) is enabled by specifying the source in the form source=('directory::url#fragment'). Currently makepkg supports the Bazaar, Git, Subversion, and Mercurial version control systems. For other version control systems, manual cloning of upstream repositories must be done in the prepare() function.

The source URL is divided into three components:

  • directory
    (optional) Specifies an alternate directory name for makepkg to download the VCS source into.
  • url
    The URL to the VCS repository. This must include the VCS in the URL protocol for makepkg to recognize this as a VCS source. If the protocol does not include the VCS name, it can be added by prefixing the URL with vcs+. For example, using a Git repository over HTTPS would have a source URL in the form: git+https://....
  • fragment
    (optional) Allows specifying a revision number or branch for makepkg to checkout from the VCS. For example, to checkout a given revision, the source line would have the format source=(url#revision=123). The available fragments depends on the VCS being used:
    • bzr: revision (see 'bzr help revisionspec' for details)
    • git: branch, commit, tag
    • hg: branch, revision, tag
    • svn: revision
German Lashevich
  • 225
  • 2
  • 12
0

You can edit build files and specify fragment option, e.g.:

pkgdesc='A YANG data modelling language parser and toolkit written (and providing API) in C'
url="https://github.com/CESNET/${pkgname}"
fragment=c035fe6

From man PKGBUILD

fragment (optional) Allows specifying a revision number or branch for makepkg to checkout from the VCS. A fragment has the form type=value, for example, to checkout a given revision the source line would be source=(url#revision=123). The available types depend on the VCS being used:

bzr: revision (see 'bzr help revisionspec' for details)

fossil: branch, commit, tag

git: branch, commit, tag

hg: branch, revision, tag

svn: revision

AsukaMinato
  • 161
  • 5