Message ID | 20190611173015.2205-1-fontaine.fabrice@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] package/libglib2: remove bindir prefix from gio-2.0.pc | expand |
All; Openembedded has a patch for this that might be even better for us to use: https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch If not, then consider this an Acked-by: Adam Duskett <aduskett@gmail.com> On Tue, Jun 11, 2019 at 1:30 PM Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > > Apply LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE to gio-2.0.pc so > ${bindir} prefix is also removed for gbus-codegen otherwise build of > packages using this binary will fail if gbus-codegen is not installed on > host > > Fixes: > - http://autobuild.buildroot.org/results/5c0e4f3d33e01198688d58388aabe159bd005234 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > package/libglib2/libglib2.mk | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk > index 78d6e5ab32..c8db706684 100644 > --- a/package/libglib2/libglib2.mk > +++ b/package/libglib2/libglib2.mk > @@ -85,13 +85,17 @@ endef > > LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES > > -# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, and > -# glib-mkenums with ${bindir}. Unfortunately, this will resolve to the host > -# systems /bin/ directory, which will cause compilation issues if the host does > -# not have these programs. By removing the ${bindir}/ prefix, these programs > -# are resolved in PATH instead. > +# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, > +# glib-mkenums, glib_compile_schemas, glib_compile_resources and gdbus-codegen > +# with ${bindir}. Unfortunately, this will resolve to the host systems /bin/ > +# directory, which will cause compilation issues if the host does not have these > +# programs. By removing the ${bindir}/ prefix, these programs are resolved in > +# PATH instead. > define LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE > - $(SED) 's%$${bindir}/%%g' $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc > + for file in glib-2.0.pc gio-2.0.pc ; do \ > + $(SED) 's%$${bindir}/%%g' \ > + $(STAGING_DIR)/usr/lib/pkgconfig/$$file ; \ > + done > endef > LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE > > -- > 2.20.1 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Adam, All, On 2019-06-11 14:19 -0400, Adam Duskett spake thusly: > Openembedded has a patch for this that might be even better for us to use: > https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch As discussed on IRC (Fabrice, you should *really* join): Upstream glib refused that patch, because they do want to have the paths. So it has zero chance to be applied, so we'll have to carry it over and over. So, I prefer we go with the hook. Still, see comments below... > If not, then consider this an > Acked-by: Adam Duskett <aduskett@gmail.com> > > On Tue, Jun 11, 2019 at 1:30 PM Fabrice Fontaine > <fontaine.fabrice@gmail.com> wrote: > > > > Apply LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE to gio-2.0.pc so > > ${bindir} prefix is also removed for gbus-codegen otherwise build of > > packages using this binary will fail if gbus-codegen is not installed on > > host > > > > Fixes: > > - http://autobuild.buildroot.org/results/5c0e4f3d33e01198688d58388aabe159bd005234 > > > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > --- > > package/libglib2/libglib2.mk | 16 ++++++++++------ > > 1 file changed, 10 insertions(+), 6 deletions(-) > > > > diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk > > index 78d6e5ab32..c8db706684 100644 > > --- a/package/libglib2/libglib2.mk > > +++ b/package/libglib2/libglib2.mk > > @@ -85,13 +85,17 @@ endef > > > > LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES > > > > -# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, and > > -# glib-mkenums with ${bindir}. Unfortunately, this will resolve to the host > > -# systems /bin/ directory, which will cause compilation issues if the host does > > -# not have these programs. By removing the ${bindir}/ prefix, these programs > > -# are resolved in PATH instead. > > +# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, > > +# glib-mkenums, glib_compile_schemas, glib_compile_resources and gdbus-codegen > > +# with ${bindir}. Unfortunately, this will resolve to the host systems /bin/ > > +# directory, which will cause compilation issues if the host does not have these > > +# programs. By removing the ${bindir}/ prefix, these programs are resolved in > > +# PATH instead. > > define LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE > > - $(SED) 's%$${bindir}/%%g' $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc > > + for file in glib-2.0.pc gio-2.0.pc ; do \ > > + $(SED) 's%$${bindir}/%%g' \ > > + $(STAGING_DIR)/usr/lib/pkgconfig/$$file ; \ IF the sed fails (for whatever reason), you'll miss the error, so... > > + done ... prefer using $(foreach ...) instead of a shell loop. Regards, Yann E. MORIN. > > endef > > LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE > > > > -- > > 2.20.1 > > > > _______________________________________________ > > buildroot mailing list > > buildroot@busybox.net > > http://lists.busybox.net/mailman/listinfo/buildroot > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
On Tue, Jun 11, 2019 at 4:22 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote: > > Adam, All, > > On 2019-06-11 14:19 -0400, Adam Duskett spake thusly: > > Openembedded has a patch for this that might be even better for us to use: > > https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch > > As discussed on IRC (Fabrice, you should *really* join): > > Upstream glib refused that patch, because they do want to have the > paths. > > So it has zero chance to be applied, so we'll have to carry it over and > over. > > So, I prefer we go with the hook. Still, see comments below... > > > If not, then consider this an > > Acked-by: Adam Duskett <aduskett@gmail.com> > > > > On Tue, Jun 11, 2019 at 1:30 PM Fabrice Fontaine > > <fontaine.fabrice@gmail.com> wrote: > > > > > > Apply LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE to gio-2.0.pc so > > > ${bindir} prefix is also removed for gbus-codegen otherwise build of > > > packages using this binary will fail if gbus-codegen is not installed on > > > host > > > > > > Fixes: > > > - http://autobuild.buildroot.org/results/5c0e4f3d33e01198688d58388aabe159bd005234 > > > > > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > > --- > > > package/libglib2/libglib2.mk | 16 ++++++++++------ > > > 1 file changed, 10 insertions(+), 6 deletions(-) > > > > > > diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk > > > index 78d6e5ab32..c8db706684 100644 > > > --- a/package/libglib2/libglib2.mk > > > +++ b/package/libglib2/libglib2.mk > > > @@ -85,13 +85,17 @@ endef > > > > > > LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES > > > > > > -# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, and > > > -# glib-mkenums with ${bindir}. Unfortunately, this will resolve to the host > > > -# systems /bin/ directory, which will cause compilation issues if the host does > > > -# not have these programs. By removing the ${bindir}/ prefix, these programs > > > -# are resolved in PATH instead. > > > +# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, > > > +# glib-mkenums, glib_compile_schemas, glib_compile_resources and gdbus-codegen > > > +# with ${bindir}. Unfortunately, this will resolve to the host systems /bin/ > > > +# directory, which will cause compilation issues if the host does not have these > > > +# programs. By removing the ${bindir}/ prefix, these programs are resolved in > > > +# PATH instead. > > > define LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE > > > - $(SED) 's%$${bindir}/%%g' $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc > > > + for file in glib-2.0.pc gio-2.0.pc ; do \ > > > + $(SED) 's%$${bindir}/%%g' \ > > > + $(STAGING_DIR)/usr/lib/pkgconfig/$$file ; \ > > IF the sed fails (for whatever reason), you'll miss the error, so... > > > > + done > > ... prefer using $(foreach ...) instead of a shell loop. Or simply define LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE $(SED) 's%$${bindir}/%%g' \ $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc \ $(STAGING_DIR)/usr/lib/pkgconfig/gio-2.0.pc endef
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk index 78d6e5ab32..c8db706684 100644 --- a/package/libglib2/libglib2.mk +++ b/package/libglib2/libglib2.mk @@ -85,13 +85,17 @@ endef LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_DEV_FILES -# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, and -# glib-mkenums with ${bindir}. Unfortunately, this will resolve to the host -# systems /bin/ directory, which will cause compilation issues if the host does -# not have these programs. By removing the ${bindir}/ prefix, these programs -# are resolved in PATH instead. +# Newer versions of libglib2 prefix glib-genmarshal, gobject-query, +# glib-mkenums, glib_compile_schemas, glib_compile_resources and gdbus-codegen +# with ${bindir}. Unfortunately, this will resolve to the host systems /bin/ +# directory, which will cause compilation issues if the host does not have these +# programs. By removing the ${bindir}/ prefix, these programs are resolved in +# PATH instead. define LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE - $(SED) 's%$${bindir}/%%g' $(STAGING_DIR)/usr/lib/pkgconfig/glib-2.0.pc + for file in glib-2.0.pc gio-2.0.pc ; do \ + $(SED) 's%$${bindir}/%%g' \ + $(STAGING_DIR)/usr/lib/pkgconfig/$$file ; \ + done endef LIBGLIB2_POST_INSTALL_TARGET_HOOKS += LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE
Apply LIBGLIB2_REMOVE_BINDIR_PREFIX_FROM_PC_FILE to gio-2.0.pc so ${bindir} prefix is also removed for gbus-codegen otherwise build of packages using this binary will fail if gbus-codegen is not installed on host Fixes: - http://autobuild.buildroot.org/results/5c0e4f3d33e01198688d58388aabe159bd005234 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/libglib2/libglib2.mk | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)