Hi Jochen,

> > The following patch deactivate IPv6 support, which is not supported on
> > Hurd yet. It also deactivate a few modules, as collecting the
> > host/routing/... information on Hurd is not that simple, as the
> > information is not centralized, and there is no working solution yet.
> > We'll reactivate those features as soon as a proper solution is
> > available, but in the time being this package is blocking plenty of
> > other packages having SNMP as _optional_ feature, so we'd like to
> > unblock them. With the following patch the snmpd daemon is fully working
> > even if it has not much information to give.
> >
> > Please note that part of this patch is a fix of the upstream code, as
> > deactivating the mibII module should also deactivate all of its
> > functions, but the VACM config calls are not, thus creating a build
> > failure. So this part is absolutely not Hurd specific.
> 
> could you have a look at the current 5.4.2.1 package in unstable and rebase
> your patch? I'd like to upload this together with the patch from #557244.

On behalf on Marc, I have updated his work to current net-snmp 
(5.4.2.1~dfsg-3). The resulting patches are attached:
- 61_vacm_missing_dependency_check.{patch,README}: the original Marc's patch,
  refreshed, with readme renamed to match patch file (like other patches)
- hurd.diff: the needed changes to the debian/rules. They slightly differ from
  Marc's initial version:
  - the host check is done using DEB_HOST_ARCH_OS, like for the other archs
  - the "host" module is added for any non-hurd host
  - the link creation of config.{guess,sub} now forces the overwriting of the
    target destination (as they seem to exist already?)
  - ipv6 is enabled on Hurd, it seems it is compiling correctly now

Thanks,
-- 
Pino Toscano
--- a/agent/agent_read_config.c
+++ b/agent/agent_read_config.c
@@ -282,7 +282,9 @@
     snmp_call_callbacks(SNMP_CALLBACK_APPLICATION,
                         SNMPD_CALLBACK_PRE_UPDATE_CONFIG, NULL);
     free_config();
+#ifdef USING_MIBII_VACM_CONF_MODULE
     vacm_standard_views(0,0,NULL,NULL);
+#endif
     read_configs();
 }
 
--- a/apps/snmptrapd.c
+++ b/apps/snmptrapd.c
@@ -1477,7 +1477,9 @@
 trapd_update_config(void)
 {
     free_config();
+#ifdef USING_MIBII_VACM_CONF_MODULE
     vacm_standard_views(0,0,NULL,NULL);
+#endif
     read_configs();
 }
 
--- a/apps/snmptrapd_auth.c
+++ b/apps/snmptrapd_auth.c
@@ -32,8 +32,10 @@
                                            netsnmp_trapd_auth);
     traph->authtypes = TRAP_AUTH_NONE;
 
+#ifdef USING_MIBII_VACM_CONF_MODULE
     /* register our configuration tokens for VACM configs */
     init_vacm_config_tokens();
+#endif
 
     /* register a config token for turning off the authorization entirely */
     netsnmp_ds_register_config(ASN_BOOLEAN, "snmptrapd", "disableAuthorization",
@@ -109,6 +111,7 @@
         return NETSNMPTRAPD_HANDLER_FINISH;
     }
 
+#ifdef USING_MIBII_VACM_CONF_MODULE
     /* check the pdu against each typo of VACM access we may want to
        check up on later.  We cache the results for future lookup on
        each call to netsnmp_trapd_check_auth */
@@ -125,6 +128,7 @@
         }
     }
     DEBUGMSGTL(("snmptrapd:auth", "Final bitmask auth: %x\n", ret));
+#endif
 
     if (ret) {
         /* we have policy to at least do "something".  Remember and continue. */
Do not call vacm_standard_views() if the corresponding module was not compiled.
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,8 @@
 COMPAT_VERSION = $(UPSTREAM_VERSION)~dfsg
 PYTHON_VERSION = 1.0a1
 
-MIB_MODULES = host smux ucd-snmp/dlmod
+MIB_MODULES = smux ucd-snmp/dlmod
+EXCL_MIB_MODULES =
 
 PYVERS=$(shell pyversions -vr)
 
@@ -21,14 +22,20 @@
 DEB_DH_GENCONTROL_ARGS=-- -Vos-specific-dev="libkvm-dev"
 endif
 endif
+ifeq (hurd,$(DEB_HOST_ARCH_OS))
+IPV6 = --enable-ipv6
+EXCL_MIB_MODULES += mibII
+else
+MIB_MODULES += host
+endif
 
 %:
 	dh --with quilt,python-central $@
 
 .PHONY: override_dh_auto_configure
 override_dh_auto_configure:
-	ln -s /usr/share/misc/config.guess .
-	ln -s /usr/share/misc/config.sub .
+	ln -f -s /usr/share/misc/config.guess .
+	ln -f -s /usr/share/misc/config.sub .
 	libtoolize --install --copy
 	aclocal
 	autoheader
@@ -43,6 +50,7 @@
 	  --without-dmalloc --without-efence --without-rsaref \
 	  --with-sys-contact="root" --with-sys-location="Unknown" \
 	  --with-mib-modules="$(MIB_MODULES)" \
+	  --with-out-mib-modules="$(EXCL_MIB_MODULES)" \
 	  --enable-mfd-rewrites \
 	  --with-mnttab=/etc/mtab \
 	  --with-mibdirs="\$HOME/.snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp" \

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to