Date: Thu, 12 Jan 2012 15:55:14 +1000 From: Da Rock <freebsd-ports@herveybayaustralia.com.au> To: freebsd-ports@freebsd.org Subject: Re: unassociated shell command Message-ID: <4F0E75C2.4020209@herveybayaustralia.com.au> In-Reply-To: <4F0E60B6.4040904@missouri.edu> References: <4F0E395B.6020201@herveybayaustralia.com.au> <4F0E4D20.405@missouri.edu> <4F0E5809.4020700@herveybayaustralia.com.au> <4F0E5A92.2050607@missouri.edu> <4F0E5E1E.20904@herveybayaustralia.com.au> <4F0E60B6.4040904@missouri.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/12/12 14:25, Stephen Montgomery-Smith wrote: > On 01/11/2012 10:14 PM, Da Rock wrote: >> On 01/12/12 13:59, Stephen Montgomery-Smith wrote: >>> On 01/11/2012 09:48 PM, Da Rock wrote: >>>> On 01/12/12 13:01, Stephen Montgomery-Smith wrote: >>>>> I usually see this error when there is a command that doesn't belong >>>>> to a target. For example, if I create a Makefile that contains only: >>>>> echo xxx >>>>> I get the same error. So I think it is something in the part you >>>>> snipped out that makes this error happen. >>>> Yes, I have run that scenario too and learnt from it. >>>> >>>> The snipped bit is basically the same- but it works :/ >>> >>> I tried this Makefile, and got the same error. >>> all: >>> XXX= xxx >>> echo xxx >>> Putting in the assignment seems to split the command "echo xxx" from >>> the target "all:". >>> >>> So it looks like you need to separate the assignments from the >>> commands. >> How do I do that, though? I have tried the assignment following the >> commands (as it is now), but obviously thats not working either. >> >> And why does it work in the other settings? > > Maybe WITH_PAM is not defined. > > But try something like this: > > .if (conditionA) > XXX=yyyy > .endif > .if (conditionB) > ZZZ=wwww > .endif > > post-extract: > .if (conditionA) > @echo Doing A with ${XXX} > .endif > .if (conditionB) > @echo Doing B with ${ZZZ} > .endif You're a genius! Whether you realise it or not or it was accidental... I split the 2 defines and set PLIST_SUB in the main, and ran the shell commands in post-extract. What I was attempting was for elegance I thought by keeping it all together. She runs as smooth as silk now :D Thanks man... >>>> @if [ -f ${WRKDIR}/etc/ldap.conf ]; then \ >>>> ${MV} ${WRKDIR}/etc/ldap.conf ${WRKDIR}/etc/ldap.conf.dist; \ >>>> fi >>>> .if defined(WITH_PAM) >>>> PLIST_SUB+= PAM="" >>>> .else >>>> @if [ -f ${WRKDIR}/lib/security/pam_ldap.so ]; then \ >>>> ${RM} -rf ${WRKDIR}/lib/; \ >>>> fi >>>> @if [ -f ${WRKDIR}/usr/share/doc/nss_ldap-264/COPYING.pam_ldap ]; >>>> then \ >>>> ${RM} ${WRKDIR}/usr/share/doc/nss_ldap-264/*.pam*; \ >>>> ${RM} -rf ${WRKDIR}/usr/share/doc/nss_ldap-264/pam.d; \ >>>> fi >>>> @if [ -f ${WRKDIR}/usr/share/man/man5/pam_ldap.5.gz ]; then \ >>>> ${RM} ${WRKDIR}/usr/share/man/man5/pam_ldap.5.gz; \ >>>> fi >>>> PLIST_SUB+= PAM="@comment " >>>> .endif >>>> >>>> Again, the indent is as is. >>>> >>>> Removing the @ didn't work either... >>>>> >>>>> On 01/11/2012 07:37 PM, Da Rock wrote: >>>>>> I'm still very new to this, but I'm almost complete on my first >>>>>> port. I >>>>>> do have an unusual error which crops up from time to time and I'm >>>>>> usually able to fudge along and clear it- but this last little bit >>>>>> won't >>>>>> clear! >>>>>> >>>>>> The particular lines in question are as follows: >>>>>> >>>>>> post-extract: >>>>>> [snip] >>>>>> .if defined(NOPORTDOCS) >>>>>> @if [ -d ${WRKDIR}/usr/share/doc ]; then \ >>>>>> ${RM} -rf ${WRKDIR}/usr/share/doc; \ >>>>>> fi >>>>>> PLIST_SUB+="@comment " >>>>>> .else >>>>>> PLIST_SUB+= PORTDOCS="" >>>>>> .endif >>>>>> >>>>>> and I get the following error make -DNOPORTDOCS install: >>>>>> "Makefile", line 59: Unassociated shell command "@if [ -d >>>>>> ${WRKDIR}/usr/share/doc ]; then ${RM} -rf >>>>>> ${WRKDIR}/usr/share/doc; fi" >>>>>> make: fatal errors encountered -- cannot continue >>>>>> >>>>>> What am I possibly missing? No googling helps, and I've tried many >>>>>> different tricks that have worked in the past as ${DIRRM}, ${RM}, >>>>>> individual directory/file removal, etc. >>>>>> >>>>>> The indentation is exactly as in the Makefile.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F0E75C2.4020209>