Package: libdpkg-ruby1.8
Version: 0.3.2
Severity: wishlist
compare-versions is a very slow process requiring fork; and it is a
bottleneck when applied to apt-listbugs.
How about using something like a C wrapper over C++ library, and
using libapt-pkg ?
irb(main):001:0> require 'dl/import'
=> true
irb(main):002:0> module DEBIAN
irb(main):003:1> extend DL::Importable
irb(main):004:1> dlload "./a.so"
irb(main):005:1> extern "int debian_compare_versions(const char*, const char*)"
irb(main):006:1> end
=> #<DL::Symbol:0x0x5a22f0 func=0x0x2b4f51bb9be0 'int
debian_compare_versions(const char *, const char *);'>
irb(main):007:0> DEBIAN.debian_compare_versions("1.2","3.4")
=> -2
[23:47:34]dancer64:examples> cat libapt-pkg-version.c
// g++ -shared libapt-pkg-version.c -o a.so -fPIC -lapt-pkg
//
#include <apt-pkg/debversion.h>
using namespace std;
extern "C" //int debian_compare_versions(const char* a, const char* b);
int debian_compare_versions(const char* a, const char* b)
{
return debVS.CmpVersion(a,b);
}
regards,
junichi
--
[EMAIL PROTECTED],netfort.gr.jp} Debian Project
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]