You are not logged in.
I'm trying to convert my existing chromium-wayland PKGBUILD to build directly from git HEAD.
Since I've been building directly from releases, I could just pull down the appropriate ozone-wayland and chromium tarballs, and build from there.
However, ozone-wayland HEAD builds against a specific git commit of the Chromium source - not a tarball that I can easily download.
I don't want to clone the chromium repo because it's 22GB. Even without history (--depth=0, I believe), it's 6.5GB, which is still huge, and I'd need some history (to checkout the commit I want, which I should be able to extract from .DEPS.git in the ozone-wayland repo).
An individual release tarball is a ~220MB download, which is much more manageable.
I went looking for ways to only download a specific git commit, but most of the suggestions online appear to involve either cloning the full repo, or downloading with git's --depth option.
Is there an obvious method that I've missed?
If not, how else could I avoid the large download, perhaps not using git?
Last edited by pypi (2015-07-15 07:18:17)
Offline
adding the #commit fragment to the end of the source's git url should do it: https://www.archlinux.org/pacman/PKGBUI … a_id_vcs_a
something like
source=('project_name::git+http://project_url#commit=a1s2d3f4as1s4123dfsa134')
I don't understand git well enough to be sure if this avoids the huge download though.
Last edited by ooo (2015-07-12 09:09:34)
Offline
adding the #commit fragment to the end of the source's git url should do it
No, that fragment just checkout the requested commit but git still needs to download the whole git repository.
Is there an obvious method that I've missed?
If not, how else could I avoid the large download, perhaps not using git?
From what I know, what you are asking seems not possible using git: http://stackoverflow.com/questions/3697 … repository. However the Chromium git repo allows to download snapshots for each commit using the url
https://chromium.googlesource.com/chromium/src.git/+archive/${commit-id}.tar.gz
For example if you need the commit 05d8130f8cd86220f505bcd3fbfec4648719a642 you could use something like
commit-id=05d8130f8cd86220f505bcd3fbfec4648719a642
source=("https://chromium.googlesource.com/chromium/src.git/+archive/${commit-id}.tar.gz")
Offline
adding the #commit fragment to the end of the source's git url should do it: https://www.archlinux.org/pacman/PKGBUI … a_id_vcs_a
something like
source=('project_name::git+http://project_url#commit=a1s2d3f4as1s4123dfsa134')
I don't understand git well enough to be sure if this avoids the huge download though.
Unfortunately, I believe that makepkg implements the commit functionality by cloning the whole upstream repo, and then copying a specific commit into the srcdir.
That would still download the whole 22GB repo...
I could be wrong on that, though - I'm not sure where I got that information.
Offline
pypi wrote:Is there an obvious method that I've missed?
If not, how else could I avoid the large download, perhaps not using git?From what I know, what you are asking seems not possible using git: http://stackoverflow.com/questions/3697 … repository. However the Chromium git repo allows to download snapshots for each commit using the url
https://chromium.googlesource.com/chromium/src.git/+archive/${commit-id}.tar.gz
For example if you need the commit 05d8130f8cd86220f505bcd3fbfec4648719a642 you could use something like
commit-id=05d8130f8cd86220f505bcd3fbfec4648719a642 source=("https://chromium.googlesource.com/chromium/src.git/+archive/${commit-id}.tar.gz")
Thanks!
That should work; I'll mark this as solved if it does.
EDIT: Done!
Last edited by pypi (2015-07-15 07:18:39)
Offline