[OE-core] [PATCH] librsvg: Fix build reproducibility

Khem Raj raj.khem at gmail.com
Fri Nov 22 01:59:32 UTC 2019


On Thu, Nov 21, 2019 at 5:40 PM Joshua Watt <jpewhacker at gmail.com> wrote:
>
> On Thu, Nov 21, 2019 at 7:14 PM Khem Raj <raj.khem at gmail.com> wrote:
> >
> > On Thu, 2019-11-21 at 10:58 -0600, Joshua Watt wrote:
> > > librsvg was encoding the path to the build directory in order to find
> > > a
> > > font file for testing. This wouldn't work in OE anyway since the
> > > build
> > > directory isn't present at that exact location on the target, so
> > > remove
> > > the offending path to make the build reproducible.
> > >
> > > Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
> > > ---
> > >  .../0001-Remove-non-reproducible-SRCDIR.patch | 30
> > > +++++++++++++++++++
> > >  meta/recipes-gnome/librsvg/librsvg_2.40.20.bb |  1 +
> > >  2 files changed, 31 insertions(+)
> > >  create mode 100644 meta/recipes-gnome/librsvg/librsvg/0001-Remove-
> > > non-reproducible-SRCDIR.patch
> > >
> > > diff --git a/meta/recipes-gnome/librsvg/librsvg/0001-Remove-non-
> > > reproducible-SRCDIR.patch b/meta/recipes-gnome/librsvg/librsvg/0001-
> > > Remove-non-reproducible-SRCDIR.patch
> > > new file mode 100644
> > > index 00000000000..75fc7f9d0b9
> > > --- /dev/null
> > > +++ b/meta/recipes-gnome/librsvg/librsvg/0001-Remove-non-
> > > reproducible-SRCDIR.patch
> > > @@ -0,0 +1,30 @@
> > > +From bea5156cd7e7122715b26c769c35928141a1da2c Mon Sep 17 00:00:00
> > > 2001
> > > +From: Joshua Watt <JPEWhacker at gmail.com>
> > > +Date: Mon, 18 Nov 2019 14:46:34 -0600
> > > +Subject: [PATCH] Remove non-reproducible SRCDIR
> > > +
> > > +Removes SRCDIR as the prefix for finding the test font. This
> > > wouldn't
> > > +work anyway, since that path is not present on the target.
> > > +
> > > +This patch is specific to OE, since it appears that this entire
> > > method
> > > +of testing was removed when upstream was re-written in rust
> > > +
> > > +Upstream-Status: Inappropriate [OE-specific, no longer present
> > > upstream]
> >
> > what replaced it ( just curious ), can we backport the fix that removed
> > it or made obsolete ?
>
> A significant portion of the library was re-written in rust. This code
> appears to be only for internal testing and wasn't preserved when it
> was re-written (at least I couldn't find it in my cursory inspection).
> We haven't been able to upgrade the library due to lack of rust
> support in oe-core.
>

ah thanks. perhaps librsvg should be moved to meta-gnome or other layer
which can depend on meta-rust. there are 3 recipes in oe-core which seem
to depend on it and they all can use packageconfig to use it.

> >
> > > +Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
> > > +---
> > > + rsvg-cairo-draw.c | 2 +-
> > > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > > +
> > > +diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c
> > > +index caa9104..cfb7ed2 100644
> > > +--- a/rsvg-cairo-draw.c
> > > ++++ b/rsvg-cairo-draw.c
> > > +@@ -398,7 +398,7 @@ set_font_options_for_testing (PangoContext
> > > *context)
> > > + static void
> > > + create_font_config_for_testing (RsvgCairoRender *render)
> > > + {
> > > +-    const char *font_path = SRCDIR
> > > "/tests/resources/LiberationSans-Regular.ttf";
> > > ++    const char *font_path = "/tests/resources/LiberationSans-
> > > Regular.ttf";
> > > +
> > > +     if (render->font_config_for_testing != NULL)
> > > +         return;
> > > diff --git a/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
> > > b/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
> > > index 7f98127fd01..6dd0533a5de 100644
> > > --- a/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
> > > +++ b/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb
> > > @@ -20,6 +20,7 @@ inherit gnomebase gtk-doc pixbufcache upstream-
> > > version-is-even gobject-introspec
> > >
> > >  SRC_URI += "file://gtk-option.patch \
> > >              file://0001-Auto-detect-Bsymbolic-fixes-configure-on-
> > > macOS.patch \
> > > +            file://0001-Remove-non-reproducible-SRCDIR.patch \
> > >  "
> > >
> > >  SRC_URI[archive.md5sum] = "4949d313b0c5d9161a5c259104af5568"
> > > --
> > > 2.23.0
> > >
> >


More information about the Openembedded-core mailing list