[smokeping-users] Embedded modules?

Terje Bless link at pobox.com
Fri Jun 8 06:47:17 CEST 2007


tobi at oetiker.ch (Tobias Oetiker) wrote:

>>any particular reason why SmokePing embeds SNMP_Session? Config::Grammar?
>
>I like to keep my dependencies small whereever possible, these two modules
>do not take much space, and in this way I am sure things work the same
>everywhere ...
>
>>Any particular reason why it doesn't place them in the Smokeping::
>>application private namespace?
>
>the modules are not part of smokeping, these are thirdparty modules

Hmm. Any chance I'd be able to persuade you on either of those points?


The embedded modules are problematic in terms of, say, a 
security update to SNMP_Session where patching the system 
version of the module will not catch Smokeping's embedded version.

I also note there are differences between your versions and 
upstream which makes trying to work around this (by dropping the 
embedded versions in the RPM) a more risky proposition.

Also, for a distribution packaging system like Fedora's (the 
policy parts as well as the purely technical bits), having these 
private versions is non-optimal for the reasons above and 
because of the namespace clashes.

I can work around it, probably by removing the embedded versions 
at RPM %install time, but it'll make for rather more grotty code 
than I'd hoped; and in light of the diff from upstream, it'll be 
quite a lot more packaging overhead than I'm entirely happy about.

Either dropping the embedded versions or moving them into the 
Smokeping:: namespace would make this much easier here (with the 
former being the much preferred path).


You wouldn't happen to know off hand whether the differences 
from upstream for these two modules are significant? If I were 
to filter them out in the RPM and replace them with an RPM-level 
dependency on the upstream modules, would this impact 
Smokeping's use of these modules?

I just quickly checked diff to see whether there were any 
changes — so I'm a bit fuzzy on the details — but the one 
difference I do recall seemed to be a tweaked regex in the 
module guts which should not affect Smokeping's ability to use 
the upstream version of the module.


Oh, and if you (or anyone on the list) happen to know; do any 
external code use any of the packages in the Smokeping:: namespace?

I'm inclined to filter the RPM “Provides” so it'll list 
'smokeping' (i.e. the program) and not any of the 'Smokeping::*' 
modules. That's the sane option if those modules are only used 
internally by Smokeping, but will probably not be sufficient if 
any external code has a 'use Smokeping::Foo'.


>see http://sepp.oetiker.ch

Ah, that explains it. Thanks.

I'll have to patch this at RPM %install time, as Gentoo does for 
their Portage version of the Smokeping package, but that should 
be manageable (if slightly ugly).
-- 
“Hath no man's dagger here a point for me?”   - Leonato, 
Governor of Messina.
                    See Project Gutenberg 
<URL:http://promo.net/pg/> for more.



More information about the smokeping-users mailing list