[csw-maintainers] [csw-devel] dynamically generated adm scripts
Dagobert Michelsen
dam at opencsw.org
Mon Feb 9 23:16:36 CET 2009
Hi Ben,
Am 09.02.2009 um 20:18 schrieb Ben Walton:
> I've mostly completed a feature for GAR that I thought I'd get some
> feedback on. While putting together one of my packages, I found the
> script to be quite nasty. It relies on version numbers of the
> package, etc (a maintenance annoyance). It struck me that it might be
> nice to have GAR generate this script automatically from a 'template'
> thus taking advantage of variables already available to the Makefile
> ($GARVERSION, etc).
>
> What I've put together allows for the definition of functions
> (possibly
> as extra include files) like this:
>
> define CSWpkgname_postinstall
> #!/bin/sh
>
> echo I'm the postinstall script for $(GARNAME) v$(GARVERSION).
>
> for i in /tmp/*; do
> echo Found $$i in /tmp;
> done
> endef
>
> This seems to work, but has a few drawbacks. As with shell snippets
> in regular rules, shell variables must be 'escaped' with $$. Also,
> due to the way GNU Make handles the 'defined' variables, \n\n* is
> collapsed to \n and any leading \t's are squished. This makes the
> resulting script less human readable (although the form stored in GAR
> can be as readable as a normal script).
>
> I should note that this would be an additional method for handling
> scripts. It wouldn't alter the traditional method in any way. You
> can mix an match to taste.
>
> Are others interested in something like this?
>
> Also, I'm not sure how this would interact with classutils. I'm not
> familiar at all with the workings there, so pointers as to how this
> would interact in that area are welcome.
This is definitely useful! It would be nice though to
have a more verbatim-type of definition...
Best regards
-- Dago
More information about the maintainers
mailing list