[csw-maintainers] SAMPLECONF = $(sysconfdir)/foo\.conf issues

Maciej (Matchek) Blizinski maciej at opencsw.org
Wed Sep 23 10:38:46 CEST 2009


On Tue, Sep 22, 2009 at 9:20 PM, Dagobert Michelsen <dam at opencsw.org> wrote:
>> By the way, I'm having this problem:
>>
>> A line in the Makefile
>> SAMPLECONF = $(sysconfdir)/cups/cupsd\.conf\.CSW
>>
>> The problem: The file in the prototype doesn't have the correct class:
>> $ ggrep conf\\.CSW work/build-global/*prototype
>> work/build-global/CSWcupsd.prototype:f none
>> /etc/opt/csw/cups/cupsd.conf.CSW 0644 root bin
>> work/build-global/prototype:f none /etc/opt/csw/cups/cupsd.conf.CSW
>> 0644 root bin
>>
>> How to debug it?
>
> Try
>  DEBUG_PACKAGING=1 gmake repackage
> and see what is executed during prototype filtering.

I tried a few combinations of "." and "\."; I then took a look at the output.

1.
SAMPLECONF = $(sysconfdir)/cupsd\.conf\.CSW
 | perl -ane ' $F[1] = "cswcpsampleconf" if ( $F[2] =~
m(^/etc/opt/csw/cupsd\.conf\\.CSW$) );

Doesn't work.

2.
SAMPLECONF = $(sysconfdir)/cupsd.conf.CSW
| perl -ane ' $F[1] = "cswcpsampleconf" if ( $F[2] =~
m(^/etc/opt/csw/cupsd.conf\.CSW$) );

Does work (the class is being set).

It doesn't seem quite right. If the value of SAMPLECONF is a regex,
there should be no later backslash additions. If it's not a regex,
backslashes should be added to all the dots (or other special
characters).

Maciej



More information about the maintainers mailing list