rrdtool 1.3.3 and dejavu dependency

Daniel Roethlisberger daniel at roe.ch
Tue Dec 16 15:38:08 PST 2008


Guido Falsi <mad at madpilot.net> 2008-12-16:
> On Mon, Dec 15, 2008 at 06:38:12PM +0100, Daniel Roethlisberger wrote:
> 
> > Even as the submitter of the PR in question, I fully agree.
> 
> This is a good starting point :P
> 
> > > I read the PR but don't really see such effects.. I'm using
> > > mrtg and smokeping, with mrtg.cgi [1] and mailgraph.cgi. They
> > > all work fine, mailgraph at least seems to use the
> > > functionality described in the PR.
> > > 
> > > Are we sure it isn't something else which is depending on
> > > dejavu?
> > 
> > Yes, pretty much.  Note that rrdtool can fall back to other
> > fonts, such as Bitstream Vera, but if no fonts are found, using
> > `rrdtool graph` or language bindings such as RRDs::graph will
> > fail.  I just used Tobi's tutorial [2] to verify this again.
> > 
> > Can you try to reproduce this with no fonts installed under
> > /usr/local/lib/X11/fonts and using the tutorial [2] as a test?
> > If it works for you, can you try to find out where it takes the
> > font from?
> > 
> > I guess it might be possible to make `rrdtool graph` work without
> > the full install of x11-fonts/dejavu and all it's dependencies by
> > either creating a lightweight dejavu font port without X11, or by
> > adding dejavu to the rrdtool port somehow.
> > 
> > I'm all open to better ideas than the current run-time dependency
> > on x11-fonts/dejavu.  I kind of hoped that the maintainer would
> > be able to find a better solution, but unfortunately, there was
> > no reaction from the maintainer.
> 
> I made a few experiments on a spare PC at work(this is an AMD64 8.0 on
> which I was testing ZFS, grat work to all the developers for that).
> 
> I reverted your change on the machine, defined WITHOUT_X11 and made sure
> all rrdtools dependencies where configured to require the least x11
> pieces(cairo requires disabling both xcb and glitz support).
> 
> The machine had no ports installed. I ended up with the following ports
> installed:
> 
> bdftopcf-1.0.1      Convert X font from BDF to PCF
> bitstream-vera-1.10_4 Bitstream Vera TrueType font collection
> cairo-1.6.4_3,1     Vector graphics library with cross-device output
> support
> encodings-1.0.2,1   X.Org Encoding fonts
> expat-2.0.1         XML 1.0 parser written in C
> font-bh-ttf-1.0.0   X.Org Bigelow & Holmes TTF font
> font-misc-ethiopic-1.0.0 X.Org miscellaneous Ethiopic font
> font-misc-meltho-1.0.0_1 X.Org miscellaneous Meltho font
> font-util-1.0.1     Create an index of X font files in a directory
> fontcacheproto-0.1.2 Fontcache extension headers
> fontconfig-2.5.0,1  An XML-based font configuration API for X Windows
> fontsproto-2.0.2    Fonts extension headers
> freetype2-2.3.7     A free and portable TrueType font rendering engine
> gamin-0.1.9_2       A file and directory monitoring system
> gettext-0.17_1      GNU gettext package
> gio-fam-backend-2.16.5 FAM backend for GLib's GIO library
> glib-2.16.5_1       Some useful routines of C programming (current
> stable versi
> gmake-3.81_3        GNU version of 'make' utility
> icu-3.8.1_1         International Components for Unicode (from IBM)
> libXfont-1.3.1_3,1  X font libary
> libfontenc-1.0.4    The fontenc Library
> libiconv-1.11_1     A character set conversion library
> libtool-1.5.26      Generic shared library support script
> libxml2-2.6.32_2    XML parser library for GNOME
> mkfontdir-1.0.3_1   Create an index of X font files in a directory
> mkfontscale-1.0.3   Creates an index of scalable font files for X
> pango-1.20.5        An open-source framework for the layout and
> rendering of i1
> pcre-7.8            Perl Compatible Regular Expressions library
> perl-5.8.8_1        Practical Extraction and Report Language
> pixman-0.10.0_2     Low-level pixel manipulation library
> pkg-config-0.23_1   A utility to retrieve information about installed
> libraries
> png-1.2.33          Library for manipulating PNG images
> python25-2.5.2_3    An interpreted object-oriented programming language
> rrdtool-1.3.3_2     Round Robin Database Tools
> xorg-fonts-truetype-7.3 X.Org TrueType fonts
> xproto-7.0.10_1     X11 protocol headers
> xtrans-1.0.4        Abstract network code for X
> 
> As you can see it already sucked in various things and some fonts. I
> tried the tutorial and it works flawlessly in such a setup. I think the
> trick is this port: bitstream-vera-1.10_4. If there were some way to
> install dejavu without sucking in all of libX11 it would be good too.
> 
> could you make your tests without dejavu but with bitstream-vera and see
> if it works?

My tests show that it falls back to bitstream-vera, but I haven't
tested it on a clean system.

I think what we need is something along the lines of depending on
(dejavu OR bitstream-vera).  Or even any TTF font.  There are
other possibilities, like making graphing support optional in
rrdtool, or replacing the dependency with a pkg-message, asking
the user to install some font if graphing is to be used.

> I see pango is depending on x11-fonts/xorg-fonts-truetype, which depends
> on some fonts pacjkages but not on libX11.
> 
> Hope my feedback helps.

Due to ENOTIME, I wont be able to devote any meaningful amount of
time to this any time soon.  Can you submit the information in
this thread as a PR against rrdtool so it doesn't get lost?

-- 
Daniel Roethlisberger
http://daniel.roe.ch/


More information about the freebsd-ports mailing list