[Pkg-net-snmp-devel] Bug#380252: net-snmp: FTBFS on GNU/kFreeBSD

Jochen Friedrich jochen at scram.de
Thu Aug 10 13:10:59 UTC 2006


Hi Petr,

> In long term we have to simplify include/net-snmp/system/kfreebsd.h
> by polishing our kernel headers and glibc headers.
> 
> But in mean time, it would be nice, if you could include this patch.
> It would help us, as libsnmp-dev have rather big set of packages
> that (recursively) Build-depends on it.

I would encourage you to directly discuss this with upstream at
net-snmp-coders at lists.sourceforge.net. Unfortunately, i don't have
any experience with kFreeBSD.

Thanks,
Jochen

> --- net-snmp-5.3.1.orig/debian/patches/26_kfreebsd.patch
> +++ net-snmp-5.3.1/debian/patches/26_kfreebsd.patch
> @@ -0,0 +1,108 @@
> +only in patch2:
> +unchanged:
> +--- net-snmp-5.3.1.orig/agent/mibgroup/ucd_snmp.h
> ++++ net-snmp-5.3.1/agent/mibgroup/ucd_snmp.h
> +@@ -41,6 +41,12 @@
> + config_arch_require(freebsd5, ucd-snmp/memory_freebsd2)
> + config_arch_require(freebsd6, ucd-snmp/vmstat_freebsd2)
> + config_arch_require(freebsd6, ucd-snmp/memory_freebsd2)
> ++config_arch_require(kfreebsd5, ucd-snmp/vmstat_freebsd2)
> ++config_arch_require(kfreebsd5, ucd-snmp/memory_freebsd2)
> ++config_arch_require(kfreebsd6, ucd-snmp/vmstat_freebsd2)
> ++config_arch_require(kfreebsd6, ucd-snmp/memory_freebsd2)
> ++config_arch_require(kfreebsd7, ucd-snmp/vmstat_freebsd2)
> ++config_arch_require(kfreebsd7, ucd-snmp/memory_freebsd2)
> + config_arch_require(netbsd1, ucd-snmp/vmstat_netbsd1)
> + config_arch_require(netbsd1, ucd-snmp/memory_netbsd1)
> + config_arch_require(netbsd, ucd-snmp/vmstat_netbsd1)
> +only in patch2:
> +unchanged:
> +--- net-snmp-5.3.1.orig/Makefile.in
> ++++ net-snmp-5.3.1/Makefile.in
> +@@ -17,8 +17,8 @@
> + INCLUDESUBDIR=system
> + INCLUDESUBDIRHEADERS= aix.h bsd.h bsdi3.h bsdi4.h bsdi.h cygwin.h \
> + 	darwin.h darwin7.h darwin8.h freebsd5.h freebsd6.h \
> +-	dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h hpux.h \
> +-	irix.h linux.h mingw32.h mips.h netbsd.h openbsd.h osf5.h \
> ++	dynix.h freebsd2.h freebsd3.h freebsd4.h freebsd.h generic.h kfreebsd.h \
> ++	hpux.h irix.h linux.h mingw32.h mips.h netbsd.h openbsd.h osf5.h \
> + 	solaris2.6.h solaris2.7.h solaris2.8.h solaris2.9.h solaris2.10.h \
> + 	solaris.h sunos.h svr5.h sysv.h ultrix4.h
> + INCLUDESUBDIR2=machine
> +only in patch2:
> +unchanged:
> +--- net-snmp-5.3.1.orig/include/net-snmp/system/kfreebsd.h
> ++++ net-snmp-5.3.1/include/net-snmp/system/kfreebsd.h
> +@@ -0,0 +1,71 @@
> ++#include "freebsd6.h"
> ++#define freebsd6
> ++
> ++#include <osreldate.h>
> ++#define __FreeBSD_version __FreeBSD_kernel_version
> ++
> ++#include <sys/queue.h>
> ++#include <sys/_types.h>
> ++
> ++typedef unsigned int tcp_seq;
> ++typedef unsigned int tcp_cc;        
> ++#define TCPOPT_SACK_HDR         (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_SACK<<8)
> ++#define MAX_SACK_BLKS   6       /* Max # SACK blocks stored at sender side */
> ++#define TCP_MAX_SACK    3       /* MAX # SACKs sent in any segment */
> ++
> ++#include <netinet/tcp_var.h>  
> ++
> ++#include <net/ethernet.h>
> ++#include <net/if_arp.h>
> ++#include <netinet/in.h>
> ++
> ++/*
> ++ * Externalized form of struct socket used by the sysctl(3) interface.
> ++ */
> ++struct xsocket {
> ++        size_t  xso_len;        /* length of this structure */
> ++        struct  socket *xso_so; /* makes a convenient handle sometimes */
> ++        short   so_type;
> ++        short   so_options;
> ++        short   so_linger;
> ++        short   so_state;
> ++        caddr_t so_pcb;         /* another convenient handle */
> ++        int     xso_protocol;
> ++        int     xso_family;
> ++        short   so_qlen;
> ++        short   so_incqlen;
> ++        short   so_qlimit;
> ++        short   so_timeo;
> ++        u_short so_error;
> ++        pid_t   so_pgid;
> ++        u_long  so_oobmark;
> ++        struct xsockbuf {
> ++                u_int   sb_cc;
> ++                u_int   sb_hiwat;
> ++                u_int   sb_mbcnt;
> ++                u_int   sb_mbmax;
> ++                int     sb_lowat;
> ++                int     sb_timeo;
> ++                short   sb_flags;
> ++        } so_rcv, so_snd;
> ++        uid_t   so_uid;         /* XXX */
> ++};
> ++typedef     u_quad_t so_gen_t;
> ++
> ++#define _SYS_SOCKETVAR_H_
> ++#include <netinet/in_pcb.h>
> ++
> ++struct  xtcpcb {
> ++        size_t  xt_len;
> ++        struct  inpcb   xt_inp;
> ++        struct  tcpcb   xt_tp;
> ++        struct  xsocket xt_socket;
> ++        u_quad_t        xt_alignment_hack;
> ++};
> ++
> ++/* Segment flag values. */
> ++enum uio_seg {
> ++        UIO_USERSPACE,          /* from user data space */
> ++        UIO_SYSSPACE,           /* from system space */
> ++        UIO_NOCOPY              /* don't copy, already in object */
> ++};
> only in patch2:
> unchanged:
> --- net-snmp-5.3.1.orig/debian/patches/26_kfreebsd.README
> +++ net-snmp-5.3.1/debian/patches/26_kfreebsd.README
> @@ -0,0 +1 @@
> +Preliminary support for kfreebsd.





More information about the Pkg-net-snmp-devel mailing list