[Dev] [PATCH 0/3] makepkg: Alternate implementation of VCS URLs in sources array.

Luke Shumaker LukeShu at sbcglobal.net
Sat Aug 25 17:36:41 GMT 2012

A while ago I started working on a derivative of makepkg to support
having 'git://...' type urls in the sources=() array.  When preparing
to file this patch, I did a `git rebase`, and noticed that Allan McRae
began working on a similar feature. Our implementations are in many
ways similar. Hopefully mine will be useful.

My implementation makes minimal changes to makepkg itself (only adding
blob expansion to DLAGENTS, allowing for things like
"git+*::""). Instead I added a `vcsget` tool which generates a tarball
from the VCS repo, in a very similar manner to the way Allan's
implementation does so within makepkg.

It looks as if Allan's download_*() functions are more verbose than
mine about what failed when there is an error. His svn and hg handlers
are likely more robust--though my git is pretty solid. I also have
a half-written handler for for bzr.

An advantage of my design is that it does allow for integrity checks
of VCS packages, rather than inserting 'SKIP' into the md5sums
array. This is very important to the derivative distribution Parabola.
(However, the 'SKIP' option is still valuable for URLs that track a

Happy hacking,
~ Luke Shumaker

Luke Shumaker (3):
  Add a `vcsget` tool to download source from VCS repositories.
  makepkg: do glob expansion in DLAGENTS maps
  makepkg.conf: add vcsget DLAGENTS

 etc/makepkg.conf.in   |   8 +-
 scripts/.gitignore    |   1 +
 scripts/Makefile.am   |   4 +-
 scripts/makepkg.sh.in |  13 ++-
 scripts/vcsget.sh.in  | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 316 insertions(+), 4 deletions(-)
 create mode 100644 scripts/vcsget.sh.in


More information about the Dev mailing list