[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