Re: When will bsnmp stop breaking -current builds

From: Giorgos Keramidas <keramida_at_ceid.upatras.gr>
Date: Wed, 8 Mar 2006 22:02:14 +0200
On 2006-03-08 21:26, Ruslan Ermilov <ru_at_FreeBSD.org> wrote:
> On Wed, Mar 08, 2006 at 11:55:39AM -0700, M. Warner Losh wrote:
> > In message: <20060308152413.GA43764_at_flame.pc>
> >             Giorgos Keramidas <keramida_at_ceid.upatras.gr> writes:
> > : On 2006-03-08 14:53, Dag-Erling Sm?rgrav <des_at_des.no> wrote:
> > : > Harti Brandt <hartmut.brandt_at_dlr.de> writes:
> > : > > You seem to be the only one having this problem, so this looks like
> > : > > a problem on your side.
> > : >
> > : > Far from it.  I had the same problem, and solved it by adding a
> > : > NO_BSNMP knob (see attached patch).
> > : >
> > : > The deeper problem is that gensnmptree is a build tool, but isn't
> > : > treated as such by the build system, so cross-builds and source
> > : > updates from older versions are broken.
> > :
> > : I solved the original gensnmptree problems I had when I moved back and
> > : forth around January 25-26th builds, with:
> > :
> > : %%%
> > : Index: Makefile.inc1
> > : ===================================================================
> > : --- Makefile.inc1       (revision 19)
> > : +++ Makefile.inc1       (working copy)
> > : _at__at_ -839,6 +839,7 _at__at_
> > :      usr.bin/rpcgen \
> > :      usr.bin/xinstall \
> > :      usr.sbin/config \
> > : +    usr.sbin/bsnmpd/gensnmptree \
> > :      ${_crunchgen} \
> > :      ${_pwd_mkdb}
> > :         ${_+_}_at_${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
> > : %%%
> > :
> > : Things worked fine after this :)
> >
> > This seems like a reasonable thing to do for now, since it is clear
> > that regardless of theory, gensnmptree in practice is a buildtool.
>
> Please make it a ${_gensnmptree} and define it only for vulnerable
> versions.  If __FreeBSD_version wasn't bumped after it's been fixed,
> put the next __FreeBSD_version value so that it stops rebuilding it
> when the version gets bumped.

I'm not sure what the full list of __FreeBSD_version's would include
though :(

There was definitely a problem upgrading from a Jan 25th build to
mid-February, but it may take a while.  I think that all FreeBSD
versions after the following change to the `Makefile' of bsnmpd depend
at "make depend" time on gensnmptree:

    root_at_flame:/w/bsd/src/usr.sbin/bsnmpd/bsnmpd# cvs log -N -r1.4 Makefile

    RCS file: /home/ncvs/src/usr.sbin/bsnmpd/bsnmpd/Makefile,v
    Working file: Makefile
    head: 1.12
    branch:
    locks: strict
    access list:
    keyword substitution: kv
    total revisions: 15;    selected revisions: 1
    description:
    ----------------------------
    revision 1.4
    date: 2004/01/23 16:22:49;  author: harti;  state: Exp;  lines: +20 -13
    Create the OID and tree files while building the modules and the daemon
    instead of creating them by hand and storing them in the CVS tree. Add
    gensnmptree to the bootstrap tools (it is used to generated these files).
    This simplifies the update procedure.

    Submitted by:   ru
    =============================================================================
    root_at_flame:/w/bsd/src/usr.sbin/bsnmpd/bsnmpd#

This is the change that introduced:

1.4          (harti    23-Jan-04): oid.h: tree.def
1.4          (harti    23-Jan-04):      gensnmptree -e ${XSYM} < ${.ALLSRC} > ${.TARGET}
1.4          (harti    23-Jan-04):

This import of bsnmpd falls somewhere between these commits to param.h:

    ----------------------------
    revision 1.263
    date: 2006/02/17 14:14:15;  author: andre;  state: Exp;  lines: +1 -1
    Replace the 4k fixed sized jumbo mbuf clusters with PAGE_SIZE sized
    jumbo mbuf clusters.  To make the variable size clear they are named
    MJUMPAGESIZE.

    Having jumbo clusters with the native PAGE_SIZE is more useful than
    a fixed 4k size according the device driver writers using this API.

    The 9k and 16k jumbo mbuf clusters remain unchanged.

    Requested by:   glebius, gallatin
    Sponsored by:   TCP/IP Optimization Fundraise 2005
    MFC after:      3 days
    ----------------------------
    revision 1.262
    date: 2006/01/26 18:23:16;  author: cognet;  state: Exp;  lines: +1 -1
    Version bump for pts import.
    ----------------------------
    revision 1.261
    date: 2006/01/12 20:27:35;  author: brooks;  state: Exp;  lines: +1 -1
    Belated __FreeBSD_version bump for improvements to the Linux ldconfig
    support in etc/rc.d/abi.
    ----------------------------

So I guess, if I understood what you said correctly Ruslan, the proper
fix would be something like (700014 is the version after the 1.263 bump):

%%%
Index: Makefile.inc1
===================================================================
--- Makefile.inc1	(.../branches/ncvs/src/Makefile.inc1)	(revision 42)
+++ Makefile.inc1	(.../trunk/src/Makefile.inc1)	(revision 42)
_at__at_ -824,6 +824,10 _at__at_
 _pwd_mkdb=	usr.sbin/pwd_mkdb
 .endif
 
+.if ${BOOTSTRAPPING} < 700014
+_gensnmptree=	usr.sbin/bsnmpd/gensnmptree
+.endif
+
 bootstrap-tools:
 .for _tool in \
     ${_strfile} \
_at__at_ -839,6 +843,7 _at__at_
     usr.bin/rpcgen \
     usr.bin/xinstall \
     usr.sbin/config \
+    ${_gensnmptree} \
     ${_crunchgen} \
     ${_pwd_mkdb}
 	${_+_}_at_${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
%%%
Received on Wed Mar 08 2006 - 19:03:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:53 UTC