Bug#886239: librsvg: please make the build reproducible

Simon McVittie smcv at debian.org
Wed Jan 3 12:51:35 UTC 2018


On Wed, 03 Jan 2018 at 12:25:42 +0000, Chris Lamb wrote:
> This is due to the binary including the absolute build path so that
> it can find test data.

It should probably use g_test_build_filename() now that that exists
(relative to $G_TEST_SRCDIR or $G_TEST_BUILDDIR as appropriate, falling
back to dirname(argv[0]) for both if unspecified).

I'm surprised this wasn't done as part of
https://gitlab.gnome.org/GNOME/librsvg/commit/b7e9ae8ce57a553add0cbd34ba7863b441178097
or at a similar time - perhaps GNOME always runs its installed-tests
with the built directory still visible?

> Patch attached that simply uses a relative source directory instead.

This isn't going to be upstreamable, since it won't work for
srcdir != builddir as far as I can see. I want to add autopkgtests at
some point anyway; I'll take a look at this as part of that work.

> Another solution might be to Build-Depend on fonts-liberation and
> specify /path/to/LiberationSans.ttf manually.

It needs to be the bundled copy, because rsvg's tests assert
almost-pixel-perfect rendering against a reference image (there's a small
amount of tolerance to account for rounding errors), so any improvements
to the font hinting etc. in fonts-liberation would result in failure.

> (Given it encodes the absolute *build* path, it's clearly not "meant"
> to work outside of build-time as this won't exist at runtime.)

IMO that's a bug, and should be fixed at some point so that rsvg's
installed-tests can be used as autopkgtests.

    smcv



More information about the pkg-gnome-maintainers mailing list