svn commit: r409685 - head/net-mgmt/bsnmp-ucd

Mykola Golub to.my.trociny at gmail.com
Mon Feb 29 10:12:27 UTC 2016


On Mon, Feb 29, 2016 at 05:03:37AM +0000, Alexey Dokuchaev wrote:
> On Sat, Feb 27, 2016 at 08:03:10PM +0000, Mikolaj Golub wrote:
> > New Revision: 409685
> > URL: https://svnweb.freebsd.org/changeset/ports/409685
> > 
> > Log:
> >   Fix build on recent 11.0-CURRENT
> 
> That's pretty bad commit message since it does not explain anything: neither
> what was the cause of the breakage nor why/how "make depend" magically fixes
> it.

Sorry.

The problem was that on the recent CURRENT generation of ucd_oid.h and
ucd_tree.h files, which are included by other *.c files, was not
executed as the first step, before compiling other files. On older
systems ucd_tree.h and systems ucd_tree.h were always generated as the
first step, but now if I run 'make -n' I see the commands are still
executed but they are not the first.

bsdsnmp-ucd Makefile uses system bsd.snmpmod.mk for this magic. It has
commands to generate ${MOD}_oid.h, ${MOD}_tree.c, ${MOD}_tree.h
files. It adds these files to SRCS, but I don't see what should
guarantee these commands are executed first. There is

  .ORDER: ${MOD}_tree.c ${MOD}_tree.h

but AFAIR .ORDER is for parallel builds? That is why I didn't blame
system(make) for this (I did not find recent changes in bsd.snmpmod.mk
that could explain the issue), I thought it had been rather an
accident that it worked previously.

After running 'make depend' I get order I need, though I am not sure
this is the right solution.

> 
> > @@ -21,4 +21,7 @@ post-install:
> >  	@${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
> >  	${INSTALL_DATA} ${WRKSRC}/snmpd.config.sample ${STAGEDIR}${EXAMPLESDIR}
> >  
> > +pre-build:
> > +	${MAKE} -C ${WRKSRC} depend
> 
> Also, it should probably be spelled as ${MAKE_CMD} here.

Thank, I will change, if there is no objection to my solution after I
described the issue.

> 
> ./danfe

-- 
Mykola Golub


More information about the svn-ports-all mailing list