[Pkg-net-snmp-devel] Bug#402116: net-snmp: FTBFS on GNU/kFreeBSD
Petr Salinger
Petr.Salinger at seznam.cz
Fri Dec 8 11:07:37 CET 2006
Package: net-snmp
Version: 5.2.3-4
Severity: important
Tags: patch
Hi,
the net-snmp package fails to build on GNU/kFreeBSD in sid.
You already added our preliminary patch into experimental (#380252).
Please, could you add similar attached patch also to 5.2 series,
as it looks like it will be released with etch.
Moreover, the patch also fixes FTBFS even on Linux architectures
in agent/mibgroup/ucd-snmp/disk.c with current etch/sid autoconf.
Thanks in advance
Petr
-------------- next part --------------
diff -u net-snmp-5.2.3/debian/control net-snmp-5.2.3/debian/control
--- net-snmp-5.2.3/debian/control
+++ net-snmp-5.2.3/debian/control
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Net-SNMP Packaging Team <pkg-net-snmp-devel at lists.alioth.debian.org>
Uploaders: Jochen Friedrich <jochen at scram.de>, Thomas Anders <tanders at users.sourceforge.net>
-Build-Depends: debhelper (>=4.1.16), 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
+Build-Depends: debhelper (>=4.1.16), 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, 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
-Depends: libc6-dev, libsnmp9 (=${Source-Version}), libsnmp-perl (=${Source-Version}), libwrap0-dev, libssl-dev, libsensors-dev (>=2.8.5), procps
+Depends: libc6-dev, libsnmp9 (=${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.2.3/debian/rules net-snmp-5.2.3/debian/rules
--- net-snmp-5.2.3/debian/rules
+++ net-snmp-5.2.3/debian/rules
@@ -21,21 +21,29 @@
PERL=/usr/bin/perl
endif
-ARCH = $(shell dpkg --print-architecture)
+DEB_HOST_ARCH_OS = $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
CFLAGS = -O2 -D_REENTRANT -DNETSNMP_USE_INLINE -Wall
ifneq "$(findstring debug,$(DEB_BUILD_OPTIONS))" ""
CFLAGS += -g
endif
-MIB_MODULES = host smux ucd-snmp/dlmod ucd-snmp/diskio ucd-snmp/lmSensors \
- disman/event-mib
BACKUP = aclocal.m4 config.guess config.sub configure ltmain.sh stamp-h \
stamp-h.in include/net-snmp/net-snmp-config.h.in
-#ifeq "$(ARCH)" "i386"
-#MIB_MODULES += ucd-snmp/lmSensors
+
+MIB_MODULES = host smux ucd-snmp/dlmod disman/event-mib
+
+ifeq (linux,$(DEB_HOST_ARCH_OS))
+MIB_MODULES += ucd-snmp/diskio ucd-snmp/lmSensors
+IPV6 = --enable-ipv6
LIBSENSORS = -lsensors
-#endif
+GENCONTROL_ARGS=-- -Vos-specific-dev="libsensors-dev (>= 2.8.5)"
+else
+ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
+IPV6 = --disable-ipv6
+GENCONTROL_ARGS=-- -Vos-specific-dev="libkvm-dev"
+endif
+endif
build: build-stamp
build-stamp: debian/stamp-patched
@@ -56,7 +64,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" \
@@ -206,7 +214,7 @@
dh_makeshlibs -plibsnmp-perl
dh_perl -a
dh_shlibdeps -a -ldebian/libsnmp$(v)/usr/lib -Llibsnmp$(v)
- dh_gencontrol -a
+ dh_gencontrol -a $(GENCONTROL_ARGS)
dh_md5sums -a
dh_builddeb -a
only in patch2:
unchanged:
--- net-snmp-5.2.3.orig/debian/patches/26_kfreebsd.README
+++ net-snmp-5.2.3/debian/patches/26_kfreebsd.README
@@ -0,0 +1 @@
+Preliminary support for kfreebsd.
only in patch2:
unchanged:
--- net-snmp-5.2.3.orig/debian/patches/26_kfreebsd.patch
+++ net-snmp-5.2.3/debian/patches/26_kfreebsd.patch
@@ -0,0 +1,118 @@
+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(freebsd4, ucd-snmp/memory_freebsd2)
+ config_arch_require(freebsd5, ucd-snmp/vmstat_freebsd2)
+ config_arch_require(freebsd5, 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,65 @@
++#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;
++};
++
+only in patch2:
+unchanged:
+--- a/agent/mibgroup/ucd-snmp/disk.c 2006-12-07 23:53:16.000000000 +0100
++++ b/agent/mibgroup/ucd-snmp/disk.c 2006-12-07 23:53:16.000000000 +0100
+@@ -4,6 +4,11 @@
+
+ #include <net-snmp/net-snmp-config.h>
+
++#ifdef HAVE_GETMNTENT
++#undef HAVE_GETMNTENT
++#define HAVE_GETMNTENT 1 /* previously might be only "#define HAVE_GETMNTENT" */
++#endif
++
+ #include <stdio.h>
+
+ #if HAVE_STDLIB_H
More information about the Pkg-net-snmp-devel
mailing list