"poudriere distclean" complains about /etc/make.conf

Mathieu Arnold mat at mat.cc
Wed Feb 18 22:34:17 UTC 2015



+--On 18 février 2015 22:37:39 +0600 Victor Sudakov <vas at mpeks.tomsk.su>
wrote:
| Mathieu Arnold wrote:
|> | 
|> | I have the following construct in /etc/make.conf but not in
|> | /usr/local/etc/poudriere.d/make.conf:
|> | 
|> | .if ${.CURDIR:M*/mail/spamassassin} && ${HOST} == "relay.sibptus.ru"
|> | EXTRA_PATCHES+=/root/patches/Mail-SpamAssassin-3.3.1.sa-cgp.diff:-p1
|> | .endif
|> | 
|> | When I run "poudriere distclean", it complains about this construct: 
|> | 
|> | WARNING (mail/spamassassin): "/etc/make.conf", line 15:
|> | Malformed conditional (${.CURDIR:M*/mail/spamassassin} && ${HOST} ==
|> | "relay.sibptus.ru") WARNING (mail/spamassassin):
|> | "/usr/share/mk/sys.mk", line 340: if-less endif WARNING
|> | (mail/spamassassin): make: fatal errors encountered -- cannot continue
|> | 
|> | I have two questions.
|> | 
|> | 1. Why does it complain? The conditional seems legit.
|> 
|> It seems like it is, but it is not, it should be:
|> 
|> .if !empty(.CURDIR:M*/mail/spamassassin) && ${HOST} == "relay.sibptus.ru"
|> EXTRA_PATCHES+=/root/patches/Mail-SpamAssassin-3.3.1.sa-cgp.diff:-p1
|> .endif
|> 
|> or
|> 
|> .if ${.CURDIR:M*/mail/spamassassin} != "" && ${HOST} ==
|> "relay.sibptus.ru"
| 
| Sorry, Mathieu, your advice does not help:
| 
| [root at svn ~] poudriere distclean -y
| [00:00:00] ====>> Gathering all expected distfiles for ports tree
| 'default' WARNING (mail/spamassassin): "/etc/make.conf", line 15:
| Malformed conditional (${.CURDIR:M*/mail/spamassassin} != "" && ${HOST}
| == "relay.sibptus.ru")  WARNING (mail/spamassassin):
| "/usr/share/mk/sys.mk", line 340: if-less endif  WARNING
| (mail/spamassassin): make: fatal errors encountered -- cannot continue 

Ah, yes, HOST is not defined, it's why it fails, you need to add:

HOST?=

before that line, because you can't compare an undefined variable with
anything.

-- 
Mathieu Arnold


More information about the freebsd-pkg mailing list