On 03.02.2013 00:07, Allan McRae wrote:
On 02/02/13 23:48, Florian Pritz wrote:
Any progress on this?
No... I expected to see a wiki page started with the details of how this would work and some examples.
I don't speak awk so I coded a basic POC in perl. If someone wants to turn this into awk please be my guest (assuming everyone is happy with the behaviour and input + output). It updates an input containing either "# template start; .." and "# template end; ..." markers or "%% template input; .." with the current templates. The "%% template input" syntax is just for initial PKGBUILD creation so the user doesn't have to write a start and end tag with no code inbetween. Perl script: http://paste.xinu.at/SMlb/ input file: http://paste.xinu.at/Fue8s/ template files: http://paste.xinu.at/tVhDo/ http://paste.xinu.at/y7x4S/ Example output: ###### pkgname=foo pkgver=1 build() { # template start; name=perl-module; sha1=TODO; version=TODO; this is before the blabla template # template start; name=perl-bla; sha1=TODO; version=TODO; bla bla # template end; name=perl-bla and this is after perl Makefile.pl make make install # template end; name=perl-module } ###### If you run the script again it will remove the inlined templates and recreate them from the template files. Another note: Lukas suggested on IRC that we could also just use an existing macro tool such as m4. I didn't think about it before, but I feel like an inline solution that just updates a simple file is better suited for PKGBUILDS since they tend to be rather small and can be viewed more easily if everything is inlined. Any other opinions here? Florian