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

Joshua Watt jpewhacker at gmail.com
Fri Nov 22 01:40:11 UTC 2019


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.

>
> > +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