[csw-maintainers] GAR RFE: Variable(s) to tag files for classes instead of PROTOTYPE_FILTER

Dagobert Michelsen dam at opencsw.org
Wed Jul 1 22:21:07 CEST 2009


Hi Sebastian,

Am 01.07.2009 um 22:08 schrieb Sebastian Kayser:
> while working on postfix 2.6 i have noticed again that it is not quite
> straight-forward to assign files to classes. Instead of exposing the  
> inner
> workings of the prototype stuff to the Makefile, could we maybe get  
> some
> variables to assign files to classes (functions)?
>
> So instead of having:
>
> CONFIG_BASE = \/etc\/opt\/csw\/postfix\/
> CONFIG_FILES = access aliases canonical generic header_checks
> CONFIG_FILES += main.cf master.cf
> CONFIG_FILES += relocated transport virtual
>
> PROTOTYPE_FILTER  = awk '\
> 	$(foreach C,$(prefix $(CONFIG_BASE),$(CONFIG_FILES)), \
> 		$$$$3 ~ /^$(C)$$$$/ { $$$$2 = "cswcpsampleconf" }) \
>        ....
>
> just have something like:
>
> CONFIG_FILES = /etc/default/cswpostgrey
> CONFIG_FILES += /etc/opt/csw/postfix/access
> CONFIG_FILES += /etc/opt/csw/postfix/aliases
> CONFIG_FILES += /etc/opt/csw/postfix/canonical
> CONFIG_FILES += /etc/opt/csw/postfix/generic
> CONFIG_FILES += /etc/opt/csw/postfix/header_checks
> CONFIG_FILES += /etc/opt/csw/postfix/main.cf
> CONFIG_FILES += /etc/opt/csw/postfix/master.cf
> CONFIG_FILES += /etc/opt/csw/postfix/relocated
> CONFIG_FILES += /etc/opt/csw/postfix/transport
> CONFIG_FILES += /etc/opt/csw/postfix/virtual
>
> To me this would feel more declarative instead of the procedural way  
> we do
> it with PROTOTYE_FILTER right now (note, it can be shortened with
> $(foreach and $(prefix, just like above). It would not only tag the  
> class,
> but also wrap the other housekeeping, like moving the config files  
> to .CSW
> during the build process.
>
> (Side note: Thinking ahead, it could also be an conceptual abstraction
> level WRT to IPS: Do IPS packages still have a prototype file?)
>
> This is only an example for config files, which i encounter most  
> often.
> Other classes could be "wrapped" as well. One would just have to  
> come up
> with the requirements, a proper naming scheme for the variables,  
> and ....
> actually implement it in GAR.

For CSWcswclassutils this is already in there :-) Just define

SAMPLECONF
PRESERVECONF
INITSMF

and everything else will be taken cared of.


Bestregards

   -- Dago



More information about the maintainers mailing list