All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] librsvg: Fix build reproducibility
@ 2019-11-21 16:58 Joshua Watt
  2019-11-22  1:14 ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Joshua Watt @ 2019-11-21 16:58 UTC (permalink / raw)
  To: openembedded-core

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@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@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]
+Signed-off-by: Joshua Watt <JPEWhacker@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



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] librsvg: Fix build reproducibility
  2019-11-21 16:58 [PATCH] librsvg: Fix build reproducibility Joshua Watt
@ 2019-11-22  1:14 ` Khem Raj
  2019-11-22  1:40   ` Joshua Watt
  0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2019-11-22  1:14 UTC (permalink / raw)
  To: Joshua Watt, openembedded-core

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@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@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 ?

> +Signed-off-by: Joshua Watt <JPEWhacker@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
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] librsvg: Fix build reproducibility
  2019-11-22  1:14 ` Khem Raj
@ 2019-11-22  1:40   ` Joshua Watt
  2019-11-22  1:59     ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Joshua Watt @ 2019-11-22  1:40 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core

On Thu, Nov 21, 2019 at 7:14 PM Khem Raj <raj.khem@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@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@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@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
> >
>


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] librsvg: Fix build reproducibility
  2019-11-22  1:40   ` Joshua Watt
@ 2019-11-22  1:59     ` Khem Raj
  0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2019-11-22  1:59 UTC (permalink / raw)
  To: Joshua Watt; +Cc: OE-core

On Thu, Nov 21, 2019 at 5:40 PM Joshua Watt <jpewhacker@gmail.com> wrote:
>
> On Thu, Nov 21, 2019 at 7:14 PM Khem Raj <raj.khem@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@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@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@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
> > >
> >


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-11-22  1:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-21 16:58 [PATCH] librsvg: Fix build reproducibility Joshua Watt
2019-11-22  1:14 ` Khem Raj
2019-11-22  1:40   ` Joshua Watt
2019-11-22  1:59     ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.