4

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
  • 1
    Don't use yaourt; use makepkg. And specify the commit/revision etc: source=('project_name::git+http://project_url#commit=345636363') – jasonwryan Jan 17 '17 at 7:10
  • Thank you very much! I have added commit= and it works great. – German Lashevich Jan 17 '17 at 7:13
4

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.