Using new VCS syntax in PKGBUILD?

Development on core packages and the distribution goes on in here.

Using new VCS syntax in PKGBUILD?

Postby aplund » Thu Oct 23, 2014 5:23 am

Can anyone here help me understand the issues I raised in this pull request and why using the new VCS syntax is the wrong thing to do.

https://github.com/archlinuxarm/PKGBUILDs/pull/999

I've had no response from my questions there.
aplund
 
Posts: 24
Joined: Tue Feb 04, 2014 5:27 am

Re: Using new VCS syntax in PKGBUILD?

Postby pepedog » Thu Oct 23, 2014 10:49 am

I prefer the method where just a specific _commit= is defined, you know what your getting, as in
https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-imx6-cubox-dt/PKGBUILD
Plus you didn't bump pkgrel so builder would never pick it up
pepedog
Developer
 
Posts: 2431
Joined: Mon Jun 07, 2010 3:30 pm
Location: London UK

Re: Using new VCS syntax in PKGBUILD?

Postby WarheadsSE » Thu Oct 23, 2014 2:07 pm

Then there is also the fact of a full git tree checkout vs the ability for hosts like github to generate a tarball of a checkout at the given commit hash, reducing load on the automation greatly. (and is cachable)
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: Using new VCS syntax in PKGBUILD?

Postby aplund » Thu Oct 23, 2014 11:00 pm

$this->bbcode_second_pass_quote('WarheadsSE', 'T')hen there is also the fact of a full git tree checkout vs the ability for hosts like github to generate a tarball of a checkout at the given commit hash, reducing load on the automation greatly. (and is cachable)


But this is exactly what I don't understand. Pacman 4.1 will checkout into $SRCDIR and do a local clone from there. After the first checkout, only the most recent objects get pulled. This also works with a chroot build as $SRCDIR is bind mounted into the chroot.

So the load difference is that between doing a local checkout and unzipping/untaring a file. And more bandwidth is required if the source needs to be updated as the whole tarball has to be downloaded.

I can check the difference between unpacking the tarball and a local checkout as this may be many orders of magnitude different. I'm not sure.

However, I can see that if disk space is an issue, having a local copy of the git objects would take more space than desired.

But I think my original question stands. Why not use the new features in pacman 4.1? I'm not making a judgement, just asking. If the right way to do this is to pull github tarballs, then that's what I'll do. But I'd like to know why this is the right way.
aplund
 
Posts: 24
Joined: Tue Feb 04, 2014 5:27 am

Re: Using new VCS syntax in PKGBUILD?

Postby WarheadsSE » Fri Oct 24, 2014 1:48 am

When you distribute your builds across multiple hosts for parallel building of multiple different packages, you loose the bonus of this filesystem caching. We have a squid proxy in front of our build hosts (8x XU) that then farm distcc out to x86-64 cross (as per our documentation). Since these host have entirely separate roots, do not share a common nfs, and have their state purged after every package build (makechrootpkg from inside an arch-chroot) we would see no acceleration as there is no state kept ever. If you only ever have a single build host, or share a common layer in a stacked/network filesystem, the VCS methods might help.

TL;DR - our distributed build system can not benefit from these VCS methods in such that they cache a copy of the checkout to the local filesystem.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm


Return to Arch Linux ARM

Who is online

Users browsing this forum: No registered users and 6 guests