On Mon, Sep 16, 2013 at 04:59:03PM +0000, Xyne wrote:
> Dave Reisner wrote:
> 
> >And you'd need to do all this work at a level lower than the parser
> >itself to avoid subversion via aliases, functions, and scripts which
> >mask the actual operation's nature...
> >
> >I think I've mentioned this a few times, but I think there's 2 options
> >if you want better parsing on the AUR:
> >
> >1) Extend .AURINFO, implement it as .SRCINFO in makepkg proper. To date,
> >I think there's been a number of issues which no one has been willing to
> >address to make this a reality.
> 
> Wouldn't that need to actually build everything to access the data nested in
> the package functions? That wouldn't necessarily be a bad thing as it would
> require packages to check that the package builds, but in that case you may as
> well just extract the data from .PKGINFO.

Feel free to write a script that creates .AURINFO from .PKGINFO.

> 
> >2) Use a VM (e.g. http://www.vidarholen.net/contents/evalbot/) to
> >evalulate the code. This would require something very similar to the
> >guts of makepkg which understands per-package overrides. The output
> >would be something similar to #1, so really... interested parties should
> >just work on that.
> 
> I honestly think the best approach would be to replace Bash PKGBUILDs with a
> versatile metadata language that can be easily and safely parsed, e.g. JSON 
> with
> support for variables and maybe a limited set of custom macros. Build and
> package functions could be moved to external scriptlets, e.g. 
> '{"build" : "/path/to/build.sh", ...}'.
> 
> Yet another item on my todo list. :P

If you combine .AURINFO and PKGBUILD you already have a format that
provides pretty much everything you want.

> 
> 
> 
> >You'd probably be interested in shellcheck:
> >
> >http://www.shellcheck.net/
> >
> >It's written in Haskell, and while it doesn't execute anything, it does
> >understand a large amount of bash syntax. I found an obscure bug in it
> >recently which was quickly fixed by the author (he's a denizen of #bash
> >on freenode).
> 
> That is indeed interesting.

Reply via email to