This is a multi-part message in MIME format.
--------------060700070807000702070207
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
walt wrote:
> walt wrote:
>
>> "/usr/share/mk/bsd.port.mk", line 85: warning: duplicate script for
>> target
>> ".BEGIN" ignored
>
>
> Sorry, my first post was misleading. The warning message above is
> harmless to the dfport build itself, but it does break 'portupgrade'
> because of this test:
>
> output = `cd #{portdir} && #{shelljoin(*cmdargs)} -V PKGNAME -V IGNORE
> -V NO_IGNORE 2>&1`.to_a
>
> if output.size != 3
> warning_message "Makefile possibly broken: #{origin}:"
> output.each { |line| STDERR.print "\t" + line }
> raise MakefileBrokenError
> end
>
> Looks like portupgrade watches for any output on stderr and kills
> the upgrade if it finds any(?)
>
> If we really want 'make' to warn about duplicate scripts I suppose
> we could teach portupgrade to ignore stderr.
Hmmm.. I am going to be in LA until this Saterday. Here is a patch
to remove the debug output, until I find out how to fix portupgrade.
I would think that portupgrade handles this since FreeBSD 5.2 has
this code too.
Max
--------------060700070807000702070207
Content-Type: text/plain;
name="patch-xxx"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="patch-xxx"
--- o Thu Nov 25 14:20:44 2004
+++ parse.c Thu Nov 25 14:20:54 2004
@@ -1473,10 +1473,6 @@
/* if target already supplied, ignore commands */
if (!(gn->type & OP_HAS_COMMANDS))
(void)Lst_AtEnd(gn->commands, cmd);
- else
- Parse_Error(PARSE_WARNING,
- "duplicate script for target \"%s\" ignored",
- gn->name);
return(0);
}
--------------060700070807000702070207--