Package: net-snmp
Version: 5.3.1-1
Severity: important
Tags: patch experimental


Hi,

the net-snmp package fails to build on GNU/kFreeBSD.
We have preliminary version of patch.

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.

Thanks in advance

                        Petr
diff -u net-snmp-5.3.1/debian/control net-snmp-5.3.1/debian/control
--- net-snmp-5.3.1/debian/control
+++ net-snmp-5.3.1/debian/control
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Net-SNMP Packaging Team <[EMAIL PROTECTED]>
 Uploaders: Jochen Friedrich <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>=5), libtool, libwrap0-dev, libssl-dev (>> 0.9.8), 
perl (>=5.8), autoconf, automake1.9, debianutils (>=1.13.1), bash (>=2.05), 
findutils (>=4.1.20), libsensors-dev (>=2.8.5), procps, cdbs (>=0.4.40)
+Build-Depends: debhelper (>=5), libtool, libwrap0-dev, libssl-dev (>> 0.9.8), 
perl (>=5.8), autoconf, automake1.9, debianutils (>=1.13.1), bash (>=2.05), 
findutils (>=4.1.20), procps, cdbs (>=0.4.40), libkvm-dev [kfreebsd-i386 
kfreebsd-amd64], libsensors-dev (>=2.8.5) [!hurd-i386 !kfreebsd-i386 
!kfreebsd-amd64]
 Standards-Version: 3.7.2
 
 Package: snmpd
@@ -68,7 +68,7 @@
 Replaces: libsnmp-dev, libsnmp-perl (<<${Source-Version})
 Provides: libsnmp-dev
 Conflicts: libsnmp-dev, libsnmp5-dev, libsnmp9-dev
-Depends: libc6-dev, libsnmp10 (=${Source-Version}), libsnmp-perl 
(=${Source-Version}), libwrap0-dev, libssl-dev, libsensors-dev (>=2.8.5), procps
+Depends: libc6-dev, libsnmp10 (=${Source-Version}), libsnmp-perl 
(=${Source-Version}), libwrap0-dev, libssl-dev, procps, ${os-specific-dev}
 Description: NET SNMP (Simple Network Management Protocol) Development Files
  The Simple Network Management Protocol (SNMP) provides a framework
  for the exchange of management information between agents (servers)
diff -u net-snmp-5.3.1/debian/rules net-snmp-5.3.1/debian/rules
--- net-snmp-5.3.1/debian/rules
+++ net-snmp-5.3.1/debian/rules
@@ -6,10 +6,22 @@
 
 LIB_VERSION = 10
 COMPAT_VERSION = 5.3.1
-MIB_MODULES = host smux ucd-snmp/dlmod ucd-snmp/diskio ucd-snmp/lmSensors
 BACKUP = aclocal.m4 configure ltmain.sh stamp-h stamp-h.in \
          include/net-snmp/net-snmp-config.h.in
 
+MIB_MODULES = host smux ucd-snmp/dlmod
+
+ifeq (linux,$(DEB_HOST_ARCH_OS))
+MIB_MODULES += ucd-snmp/diskio ucd-snmp/lmSensors 
+IPV6 = --enable-ipv6
+DEB_DH_GENCONTROL_ARGS=-- -Vos-specific-dev="libsensors-dev (>= 2.8.5)"
+else
+ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
+IPV6 = --disable-ipv6
+DEB_DH_GENCONTROL_ARGS=-- -Vos-specific-dev="libkvm-dev"
+endif
+endif
+
 DEB_AUTO_UPDATE_LIBTOOL  = pre
 DEB_AUTO_UPDATE_ACLOCAL  = 1.9
 DEB_AUTO_UPDATE_AUTOCONF = 2.59
@@ -22,7 +34,7 @@
          --enable-ucd-snmp-compatibility \
          --enable-shared --with-cflags="$(CFLAGS)" \
          --with-perl-modules="INSTALLDIRS=vendor" \
-         --enable-ipv6 --with-logfile=none \
+         $(IPV6) --with-logfile=none \
          --without-rpm --with-libwrap --with-openssl \
          --without-dmalloc --without-efence --without-rsaref \
          --with-sys-contact="root" --with-sys-location="Unknown" \
only in patch2:
unchanged:
--- 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.

Reply via email to