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

Sebastian Kayser skayser at opencsw.org
Thu Sep 17 12:45:06 CEST 2009


Dagobert Michelsen wrote:
> 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.

Heads up: There was a small bug in SAMPLECONF. Class assignment ended up
in cswsampleconf instead of cswcpsampleconf. Fixed in r6329.

Sebastian




More information about the maintainers mailing list