* [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h
@ 2014-04-07 11:27 Ming Liu
2014-04-07 11:27 ` [PATCH 2/3] freetype: fix multilib header conflict - ftconfig.h Ming Liu
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Ming Liu @ 2014-04-07 11:27 UTC (permalink / raw)
To: openembedded-core
ext2_types.h conflicts between 32-bit and 64-bit versions.
Signed-off-by: Ming Liu <ming.liu@windriver.com>
---
meta/recipes-devtools/e2fsprogs/e2fsprogs.inc | 3 +--
meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb | 2 ++
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
index a34df37..99447c1 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
@@ -22,5 +22,4 @@ DEPENDS = "util-linux"
SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \
file://mkdir.patch"
-inherit autotools gettext pkgconfig
-
+inherit autotools gettext pkgconfig multilib_header
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
index 3a5d6ee..2bdd724 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
@@ -52,6 +52,8 @@ do_install () {
mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
fi
+
+ oe_multilib_header ext2fs/ext2_types.h
}
RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
--
1.8.4.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/3] freetype: fix multilib header conflict - ftconfig.h
2014-04-07 11:27 [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Ming Liu
@ 2014-04-07 11:27 ` Ming Liu
2014-04-07 11:27 ` [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts Ming Liu
2014-04-07 19:50 ` [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Khem Raj
2 siblings, 0 replies; 14+ messages in thread
From: Ming Liu @ 2014-04-07 11:27 UTC (permalink / raw)
To: openembedded-core
ftconfig.h conflicts between 32-bit and 64-bit versions.
Signed-off-by: Ming Liu <ming.liu@windriver.com>
---
meta/recipes-graphics/freetype/freetype_2.5.2.bb | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/meta/recipes-graphics/freetype/freetype_2.5.2.bb b/meta/recipes-graphics/freetype/freetype_2.5.2.bb
index b93453a..0c62a67 100644
--- a/meta/recipes-graphics/freetype/freetype_2.5.2.bb
+++ b/meta/recipes-graphics/freetype/freetype_2.5.2.bb
@@ -21,7 +21,7 @@ SRC_URI[sha256sum] = "4ff4bd393aa01071ec7b849d035508a505a78f88b2bcf25ff11e58e43c
S = "${WORKDIR}/freetype-${PV}"
-inherit autotools-brokensep pkgconfig binconfig
+inherit autotools-brokensep pkgconfig binconfig multilib_header
LIBTOOL = "${S}/builds/unix/${HOST_SYS}-libtool"
EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
@@ -50,5 +50,9 @@ do_compile_prepend() {
${BUILD_CC} -o objs/apinames src/tools/apinames.c
}
+do_install_append() {
+ oe_multilib_header freetype2/config/ftconfig.h
+}
+
BBCLASSEXTEND = "native"
--
1.8.4.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-07 11:27 [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Ming Liu
2014-04-07 11:27 ` [PATCH 2/3] freetype: fix multilib header conflict - ftconfig.h Ming Liu
@ 2014-04-07 11:27 ` Ming Liu
2014-04-07 11:36 ` Richard Purdie
2014-04-07 19:50 ` [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Khem Raj
2 siblings, 1 reply; 14+ messages in thread
From: Ming Liu @ 2014-04-07 11:27 UTC (permalink / raw)
To: openembedded-core
In most cases binconfig files conflict among multilib packages, to avoid
that, use update-alternatives link *-config from real path with a
PACKAGE_ARCH suffix.
Signed-off-by: Ming Liu <ming.liu@windriver.com>
---
meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
1 file changed, 56 insertions(+), 9 deletions(-)
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass
index 7158c8c..c5503b7 100644
--- a/meta/classes/binconfig.bbclass
+++ b/meta/classes/binconfig.bbclass
@@ -1,4 +1,4 @@
-FILES_${PN}-dev += "${bindir}/*-config"
+FILES_${PN}-dev += "${bindir}/*-config.${PACKAGE_ARCH}"
# The namespaces can clash here hence the two step replace
def get_binconfig_mangle(d):
@@ -31,14 +31,21 @@ BINCONFIG_GLOB ?= "*-config"
PACKAGE_PREPROCESS_FUNCS += "binconfig_package_preprocess"
binconfig_package_preprocess () {
- for config in `find ${PKGD} -name '${BINCONFIG_GLOB}'`; do
- sed -i \
- -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \
- -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
- -e 's:${STAGING_INCDIR}:${includedir}:g;' \
- -e 's:${STAGING_DATADIR}:${datadir}:' \
- -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \
- $config
+ for config in `find ${PKGD}${bindir} -name '${BINCONFIG_GLOB}'`; do
+ if [ -h $config ]; then
+ real_config=`readlink $config`
+ unlink $config
+ ( cd ${PKGD}${bindir} ; ln -sf $real_config.${PACKAGE_ARCH} $config.${PACKAGE_ARCH} )
+ else
+ sed -i \
+ -e 's:${STAGING_BASELIBDIR}:${base_libdir}:g;' \
+ -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
+ -e 's:${STAGING_INCDIR}:${includedir}:g;' \
+ -e 's:${STAGING_DATADIR}:${datadir}:' \
+ -e 's:${STAGING_DIR_HOST}${prefix}:${prefix}:' \
+ $config
+ mv $config $config.${PACKAGE_ARCH}
+ fi
done
for lafile in `find ${PKGD} -name "*.la"` ; do
sed -i \
@@ -51,6 +58,46 @@ binconfig_package_preprocess () {
done
}
+BINCONFIG_PRIORITY ?= "${@int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[0]) * 10000 + \
+ int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[1]) * 100 + \
+ int(d.getVar('PV',1).split('-')[0].split('+')[0].split('.')[-1])}"
+
+PACKAGESPLITFUNCS_prepend = "populate_packages_binconfig "
+
+#
+# Fix binconfig conflicts among multilib packages
+#
+python populate_packages_binconfig () {
+ import os, glob
+
+ pkg = d.getVar('PN', True) + '-dev'
+ dvar = d.getVar('PKGD', True)
+ bindir = d.getVar('bindir', True)
+ binconfig_glob = d.getVar('BINCONFIG_GLOB', True)
+ binconfig_priority = d.getVar('BINCONFIG_PRIORITY', True)
+ binconfig_setup_links = ""
+ binconfig_remove_links = ""
+ for file in glob.glob(dvar + bindir + os.sep + binconfig_glob + '.' + d.getVar('PACKAGE_ARCH', True)):
+ binconfig_target = os.path.basename(file)
+ binconfig_name = binconfig_target[:binconfig_target.find('.')]
+ binconfig_link = bindir + os.sep + binconfig_name
+ binconfig_setup_links += '\tupdate-alternatives --install %s %s %s %s\n' % (binconfig_link, binconfig_name, binconfig_target, binconfig_priority)
+ binconfig_remove_links += '\tupdate-alternatives --remove %s %s\n' % (binconfig_name, binconfig_target)
+
+ if binconfig_setup_links:
+ provider = d.getVar('VIRTUAL-RUNTIME_update-alternatives', True)
+ if provider:
+ d.appendVar('RDEPENDS_%s' % pkg, ' ' + d.getVar('MLPREFIX') + provider)
+
+ postinst = d.getVar('pkg_postinst_%s' % pkg, True) or '#!/bin/sh\n'
+ postinst += binconfig_setup_links
+ d.setVar('pkg_postinst_%s' % pkg, postinst)
+
+ postrm = d.getVar('pkg_postrm_%s' % pkg, True) or '#!/bin/sh\n'
+ postrm += binconfig_remove_links
+ d.setVar('pkg_postrm_%s' % pkg, postrm)
+}
+
SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess"
binconfig_sysroot_preprocess () {
--
1.8.4.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-07 11:27 ` [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts Ming Liu
@ 2014-04-07 11:36 ` Richard Purdie
2014-04-08 2:27 ` Ming Liu
0 siblings, 1 reply; 14+ messages in thread
From: Richard Purdie @ 2014-04-07 11:36 UTC (permalink / raw)
To: Ming Liu; +Cc: openembedded-core
On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
> In most cases binconfig files conflict among multilib packages, to avoid
> that, use update-alternatives link *-config from real path with a
> PACKAGE_ARCH suffix.
>
> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> ---
> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
> 1 file changed, 56 insertions(+), 9 deletions(-)
This isn't going in, its complex and supports a minority use case.
binconfig should be dying out, not being extended and shored up like
this.
I'd also add this patch is buggy, its pure luck that update-alternatives
is available at rootfs generation time since its not in a visible
dependency.
So going forward I'd like to see patches which simply delete binconfig
scripts. Where there isn't a .pc alternative we should be adding them
and pushing them upstream.
Cheers,
Richard
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h
2014-04-07 11:27 [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Ming Liu
2014-04-07 11:27 ` [PATCH 2/3] freetype: fix multilib header conflict - ftconfig.h Ming Liu
2014-04-07 11:27 ` [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts Ming Liu
@ 2014-04-07 19:50 ` Khem Raj
2014-04-08 2:04 ` Ming Liu
2 siblings, 1 reply; 14+ messages in thread
From: Khem Raj @ 2014-04-07 19:50 UTC (permalink / raw)
To: Ming Liu; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 1751 bytes --]
On Apr 7, 2014 1:28 AM, "Ming Liu" <ming.liu@windriver.com> wrote:
>
> ext2_types.h conflicts between 32-bit and 64-bit versions.
>
can you explain the conflicts
may be they can be addressed
> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> ---
> meta/recipes-devtools/e2fsprogs/e2fsprogs.inc | 3 +--
> meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb | 2 ++
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> index a34df37..99447c1 100644
> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> @@ -22,5 +22,4 @@ DEPENDS = "util-linux"
> SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \
> file://mkdir.patch"
>
> -inherit autotools gettext pkgconfig
> -
> +inherit autotools gettext pkgconfig multilib_header
> diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbb/meta/recipes-devtools/e2fsprogs/
e2fsprogs_1.42.9.bb
> index 3a5d6ee..2bdd724 100644
> --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> @@ -52,6 +52,8 @@ do_install () {
> mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
> mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
> fi
> +
> + oe_multilib_header ext2fs/ext2_types.h
> }
>
> RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
> --
> 1.8.4.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
[-- Attachment #2: Type: text/html, Size: 2636 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h
2014-04-07 19:50 ` [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Khem Raj
@ 2014-04-08 2:04 ` Ming Liu
0 siblings, 0 replies; 14+ messages in thread
From: Ming Liu @ 2014-04-08 2:04 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 3388 bytes --]
On 04/08/2014 03:50 AM, Khem Raj wrote:
>
>
> On Apr 7, 2014 1:28 AM, "Ming Liu" <ming.liu@windriver.com
> <mailto:ming.liu@windriver.com>> wrote:
> >
> > ext2_types.h conflicts between 32-bit and 64-bit versions.
> >
>
> can you explain the conflicts
> may be they can be addressed
>
Yes, of course, see the following diff output of 64bits and 32bits
ext2_types.h :
diff -urpN /tmp/64bits/ext2_types.h /tmp/32bits/ext2_types.h
--- /tmp/64bits/ext2_types.h
+++ /tmp/32bits/ext2_types.h
@@ -63,7 +63,7 @@ typedef __U32_TYPEDEF __u32;
#if (4 == 4)
typedef unsigned int __u32;
#else
-#if (8 == 4)
+#if (4 == 4)
typedef unsigned long __u32;
#else
#if (2 == 4)
@@ -81,7 +81,7 @@ typedef __S32_TYPEDEF __s32;
#if (4 == 4)
typedef int __s32;
#else
-#if (8 == 4)
+#if (4 == 4)
typedef long __s32;
#else
#if (2 == 4)
@@ -102,7 +102,7 @@ typedef unsigned int __u64;
#if (8 == 8)
typedef unsigned long long __u64;
#else
-#if (8 == 8)
+#if (4 == 8)
typedef unsigned long __u64;
#endif /* SIZEOF_LONG_LONG == 8 */
#endif /* SIZEOF_LONG == 8 */
@@ -122,7 +122,7 @@ typedef __signed__ long long __s64;
typedef signed long long __s64;
#endif /* __GNUC__ */
#else
-#if (8 == 8)
+#if (4 == 8)
typedef long __s64;
#endif /* SIZEOF_LONG_LONG == 8 */
#endif /* SIZEOF_LONG == 8 */
ext2_types.h conflicts between 32-bit and 64-bit versions.
//Ming Liu
>
> > Signed-off-by: Ming Liu <ming.liu@windriver.com
> <mailto:ming.liu@windriver.com>>
> > ---
> > meta/recipes-devtools/e2fsprogs/e2fsprogs.inc | 3 +--
> > meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> <http://e2fsprogs_1.42.9.bb> | 2 ++
> > 2 files changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> > index a34df37..99447c1 100644
> > --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> > +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
> > @@ -22,5 +22,4 @@ DEPENDS = "util-linux"
> > SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz \
> > file://mkdir.patch"
> >
> > -inherit autotools gettext pkgconfig
> > -
> > +inherit autotools gettext pkgconfig multilib_header
> > diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> <http://e2fsprogs_1.42.9.bb>
> b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> <http://e2fsprogs_1.42.9.bb>
> > index 3a5d6ee..2bdd724 100644
> > --- a/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> <http://e2fsprogs_1.42.9.bb>
> > +++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb
> <http://e2fsprogs_1.42.9.bb>
> > @@ -52,6 +52,8 @@ do_install () {
> > mv ${D}${base_libdir}/e2initrd_helper ${D}${libdir}
> > mv ${D}${base_libdir}/pkgconfig ${D}${libdir}
> > fi
> > +
> > + oe_multilib_header ext2fs/ext2_types.h
> > }
> >
> > RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
> > --
> > 1.8.4.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> <mailto:Openembedded-core@lists.openembedded.org>
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 5614 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-07 11:36 ` Richard Purdie
@ 2014-04-08 2:27 ` Ming Liu
2014-04-08 10:03 ` Richard Purdie
0 siblings, 1 reply; 14+ messages in thread
From: Ming Liu @ 2014-04-08 2:27 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On 04/07/2014 07:36 PM, Richard Purdie wrote:
> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
>> In most cases binconfig files conflict among multilib packages, to avoid
>> that, use update-alternatives link *-config from real path with a
>> PACKAGE_ARCH suffix.
>>
>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
>> ---
>> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
>> 1 file changed, 56 insertions(+), 9 deletions(-)
> This isn't going in, its complex and supports a minority use case.
> binconfig should be dying out, not being extended and shored up like
> this.
>
> I'd also add this patch is buggy, its pure luck that update-alternatives
> is available at rootfs generation time since its not in a visible
> dependency.
>
> So going forward I'd like to see patches which simply delete binconfig
> scripts. Where there isn't a .pc alternative we should be adding them
> and pushing them upstream.
Did you mean we'd better remove all *-config scripts, insteaded by
providing .pc files, and send the changes to all upstreams providing and
using *-config? That seems a huge work and we need co-operate with a lot
of projects.
//Ming Liu
>
> Cheers,
>
> Richard
>
>
>
>
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-08 2:27 ` Ming Liu
@ 2014-04-08 10:03 ` Richard Purdie
2014-04-09 6:41 ` Ming Liu
0 siblings, 1 reply; 14+ messages in thread
From: Richard Purdie @ 2014-04-08 10:03 UTC (permalink / raw)
To: Ming Liu; +Cc: openembedded-core
On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
> On 04/07/2014 07:36 PM, Richard Purdie wrote:
> > On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
> >> In most cases binconfig files conflict among multilib packages, to avoid
> >> that, use update-alternatives link *-config from real path with a
> >> PACKAGE_ARCH suffix.
> >>
> >> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> >> ---
> >> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
> >> 1 file changed, 56 insertions(+), 9 deletions(-)
> > This isn't going in, its complex and supports a minority use case.
> > binconfig should be dying out, not being extended and shored up like
> > this.
> >
> > I'd also add this patch is buggy, its pure luck that update-alternatives
> > is available at rootfs generation time since its not in a visible
> > dependency.
> >
> > So going forward I'd like to see patches which simply delete binconfig
> > scripts. Where there isn't a .pc alternative we should be adding them
> > and pushing them upstream.
> Did you mean we'd better remove all *-config scripts, insteaded by
> providing .pc files, and send the changes to all upstreams providing and
> using *-config? That seems a huge work and we need co-operate with a lot
> of projects.
Basically, yes, that is what I mean. I might be wrong but I don't think
there are that many projects which don't ship .pc files now and just
have a binconfig as a backup.
Cheers,
Richard
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-08 10:03 ` Richard Purdie
@ 2014-04-09 6:41 ` Ming Liu
2014-04-09 9:42 ` Richard Purdie
0 siblings, 1 reply; 14+ messages in thread
From: Ming Liu @ 2014-04-09 6:41 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On 04/08/2014 06:03 PM, Richard Purdie wrote:
> On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
>> On 04/07/2014 07:36 PM, Richard Purdie wrote:
>>> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
>>>> In most cases binconfig files conflict among multilib packages, to avoid
>>>> that, use update-alternatives link *-config from real path with a
>>>> PACKAGE_ARCH suffix.
>>>>
>>>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
>>>> ---
>>>> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
>>>> 1 file changed, 56 insertions(+), 9 deletions(-)
>>> This isn't going in, its complex and supports a minority use case.
>>> binconfig should be dying out, not being extended and shored up like
>>> this.
>>>
>>> I'd also add this patch is buggy, its pure luck that update-alternatives
>>> is available at rootfs generation time since its not in a visible
>>> dependency.
>>>
>>> So going forward I'd like to see patches which simply delete binconfig
>>> scripts. Where there isn't a .pc alternative we should be adding them
>>> and pushing them upstream.
>> Did you mean we'd better remove all *-config scripts, insteaded by
>> providing .pc files, and send the changes to all upstreams providing and
>> using *-config? That seems a huge work and we need co-operate with a lot
>> of projects.
> Basically, yes, that is what I mean. I might be wrong but I don't think
> there are that many projects which don't ship .pc files now and just
> have a binconfig as a backup.
Yes, I also noticed that many of them are providing .pc files as well as
binconfig as a backup, so I think there must be reasons binconfig
remained in their projects, that might be for compliable considering,
so I am not sure they would like to remove them from their projects, but
I can try to ping them. Nevertheless, the conflicts still exist, we just
leave them here so far?
//Ming Liu
>
> Cheers,
>
> Richard
>
>
>
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-09 6:41 ` Ming Liu
@ 2014-04-09 9:42 ` Richard Purdie
2014-04-09 10:01 ` Ming Liu
0 siblings, 1 reply; 14+ messages in thread
From: Richard Purdie @ 2014-04-09 9:42 UTC (permalink / raw)
To: Ming Liu; +Cc: openembedded-core
On Wed, 2014-04-09 at 14:41 +0800, Ming Liu wrote:
> On 04/08/2014 06:03 PM, Richard Purdie wrote:
> > On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
> >> On 04/07/2014 07:36 PM, Richard Purdie wrote:
> >>> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
> >>>> In most cases binconfig files conflict among multilib packages, to avoid
> >>>> that, use update-alternatives link *-config from real path with a
> >>>> PACKAGE_ARCH suffix.
> >>>>
> >>>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> >>>> ---
> >>>> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
> >>>> 1 file changed, 56 insertions(+), 9 deletions(-)
> >>> This isn't going in, its complex and supports a minority use case.
> >>> binconfig should be dying out, not being extended and shored up like
> >>> this.
> >>>
> >>> I'd also add this patch is buggy, its pure luck that update-alternatives
> >>> is available at rootfs generation time since its not in a visible
> >>> dependency.
> >>>
> >>> So going forward I'd like to see patches which simply delete binconfig
> >>> scripts. Where there isn't a .pc alternative we should be adding them
> >>> and pushing them upstream.
> >> Did you mean we'd better remove all *-config scripts, insteaded by
> >> providing .pc files, and send the changes to all upstreams providing and
> >> using *-config? That seems a huge work and we need co-operate with a lot
> >> of projects.
> > Basically, yes, that is what I mean. I might be wrong but I don't think
> > there are that many projects which don't ship .pc files now and just
> > have a binconfig as a backup.
> Yes, I also noticed that many of them are providing .pc files as well as
> binconfig as a backup, so I think there must be reasons binconfig
> remained in their projects, that might be for compliable considering,
> so I am not sure they would like to remove them from their projects, but
> I can try to ping them. Nevertheless, the conflicts still exist, we just
> leave them here so far?
I'm thinking we should start deleting the -config files at do_install
time where we know a good .pc file exists and remove the binconfig
inherit. If this causes any problem in software using the package, we
should fix those to use pkgconfig.
Over time the conflicts will stop existing since the binconfig class
will not be used anywhere.
Cheers,
Richard
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-09 9:42 ` Richard Purdie
@ 2014-04-09 10:01 ` Ming Liu
2014-04-09 10:07 ` Ming Liu
2014-04-09 10:08 ` Richard Purdie
0 siblings, 2 replies; 14+ messages in thread
From: Ming Liu @ 2014-04-09 10:01 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
On 04/09/2014 05:42 PM, Richard Purdie wrote:
> On Wed, 2014-04-09 at 14:41 +0800, Ming Liu wrote:
>> On 04/08/2014 06:03 PM, Richard Purdie wrote:
>>> On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
>>>> On 04/07/2014 07:36 PM, Richard Purdie wrote:
>>>>> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
>>>>>> In most cases binconfig files conflict among multilib packages, to avoid
>>>>>> that, use update-alternatives link *-config from real path with a
>>>>>> PACKAGE_ARCH suffix.
>>>>>>
>>>>>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
>>>>>> ---
>>>>>> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
>>>>>> 1 file changed, 56 insertions(+), 9 deletions(-)
>>>>> This isn't going in, its complex and supports a minority use case.
>>>>> binconfig should be dying out, not being extended and shored up like
>>>>> this.
>>>>>
>>>>> I'd also add this patch is buggy, its pure luck that update-alternatives
>>>>> is available at rootfs generation time since its not in a visible
>>>>> dependency.
>>>>>
>>>>> So going forward I'd like to see patches which simply delete binconfig
>>>>> scripts. Where there isn't a .pc alternative we should be adding them
>>>>> and pushing them upstream.
>>>> Did you mean we'd better remove all *-config scripts, insteaded by
>>>> providing .pc files, and send the changes to all upstreams providing and
>>>> using *-config? That seems a huge work and we need co-operate with a lot
>>>> of projects.
>>> Basically, yes, that is what I mean. I might be wrong but I don't think
>>> there are that many projects which don't ship .pc files now and just
>>> have a binconfig as a backup.
>> Yes, I also noticed that many of them are providing .pc files as well as
>> binconfig as a backup, so I think there must be reasons binconfig
>> remained in their projects, that might be for compliable considering,
>> so I am not sure they would like to remove them from their projects, but
>> I can try to ping them. Nevertheless, the conflicts still exist, we just
>> leave them here so far?
> I'm thinking we should start deleting the -config files at do_install
> time where we know a good .pc file exists and remove the binconfig
> inherit. If this causes any problem in software using the package, we
> should fix those to use pkgconfig.
>
> Over time the conflicts will stop existing since the binconfig class
> will not be used anywhere.
Yes, that's a feasible solution, but it needs a lot of testing works,
unfortunately, I am a little busy with my daily work recently and cant
handle it parallelly, so I'd like to file a bug in Yocto, see if anybody
like to take it, or I will do it when I can tear myself away from work
later.
//Ming Liu
>
> Cheers,
>
> Richard
>
>
>
>
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-09 10:01 ` Ming Liu
@ 2014-04-09 10:07 ` Ming Liu
2014-04-09 12:50 ` Richard Purdie
2014-04-09 10:08 ` Richard Purdie
1 sibling, 1 reply; 14+ messages in thread
From: Ming Liu @ 2014-04-09 10:07 UTC (permalink / raw)
To: openembedded-core, Richard Purdie
On 04/09/2014 06:01 PM, Ming Liu wrote:
> On 04/09/2014 05:42 PM, Richard Purdie wrote:
>> On Wed, 2014-04-09 at 14:41 +0800, Ming Liu wrote:
>>> On 04/08/2014 06:03 PM, Richard Purdie wrote:
>>>> On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
>>>>> On 04/07/2014 07:36 PM, Richard Purdie wrote:
>>>>>> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
>>>>>>> In most cases binconfig files conflict among multilib packages,
>>>>>>> to avoid
>>>>>>> that, use update-alternatives link *-config from real path with a
>>>>>>> PACKAGE_ARCH suffix.
>>>>>>>
>>>>>>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
>>>>>>> ---
>>>>>>> meta/classes/binconfig.bbclass | 65
>>>>>>> ++++++++++++++++++++++++++++++++++++------
>>>>>>> 1 file changed, 56 insertions(+), 9 deletions(-)
>>>>>> This isn't going in, its complex and supports a minority use case.
>>>>>> binconfig should be dying out, not being extended and shored up like
>>>>>> this.
>>>>>>
>>>>>> I'd also add this patch is buggy, its pure luck that
>>>>>> update-alternatives
>>>>>> is available at rootfs generation time since its not in a visible
>>>>>> dependency.
>>>>>>
>>>>>> So going forward I'd like to see patches which simply delete
>>>>>> binconfig
>>>>>> scripts. Where there isn't a .pc alternative we should be adding
>>>>>> them
>>>>>> and pushing them upstream.
>>>>> Did you mean we'd better remove all *-config scripts, insteaded by
>>>>> providing .pc files, and send the changes to all upstreams
>>>>> providing and
>>>>> using *-config? That seems a huge work and we need co-operate with
>>>>> a lot
>>>>> of projects.
>>>> Basically, yes, that is what I mean. I might be wrong but I don't
>>>> think
>>>> there are that many projects which don't ship .pc files now and just
>>>> have a binconfig as a backup.
>>> Yes, I also noticed that many of them are providing .pc files as
>>> well as
>>> binconfig as a backup, so I think there must be reasons binconfig
>>> remained in their projects, that might be for compliable considering,
>>> so I am not sure they would like to remove them from their projects,
>>> but
>>> I can try to ping them. Nevertheless, the conflicts still exist, we
>>> just
>>> leave them here so far?
>> I'm thinking we should start deleting the -config files at do_install
>> time where we know a good .pc file exists and remove the binconfig
>> inherit. If this causes any problem in software using the package, we
>> should fix those to use pkgconfig.
>>
>> Over time the conflicts will stop existing since the binconfig class
>> will not be used anywhere.
> Yes, that's a feasible solution, but it needs a lot of testing works,
> unfortunately, I am a little busy with my daily work recently and cant
> handle it parallelly, so I'd like to file a bug in Yocto, see if
> anybody like to take it, or I will do it when I can tear myself away
> from work later.
Seems we already have the defect record, and Qi Chen has been working on
that for a while, see the following:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=2453
//Ming Liu
>
> //Ming Liu
>>
>> Cheers,
>>
>> Richard
>>
>>
>>
>>
>>
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-09 10:01 ` Ming Liu
2014-04-09 10:07 ` Ming Liu
@ 2014-04-09 10:08 ` Richard Purdie
1 sibling, 0 replies; 14+ messages in thread
From: Richard Purdie @ 2014-04-09 10:08 UTC (permalink / raw)
To: Ming Liu; +Cc: openembedded-core
On Wed, 2014-04-09 at 18:01 +0800, Ming Liu wrote:
> On 04/09/2014 05:42 PM, Richard Purdie wrote:
> > On Wed, 2014-04-09 at 14:41 +0800, Ming Liu wrote:
> >> On 04/08/2014 06:03 PM, Richard Purdie wrote:
> >>> On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
> >>>> On 04/07/2014 07:36 PM, Richard Purdie wrote:
> >>>>> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
> >>>>>> In most cases binconfig files conflict among multilib packages, to avoid
> >>>>>> that, use update-alternatives link *-config from real path with a
> >>>>>> PACKAGE_ARCH suffix.
> >>>>>>
> >>>>>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> >>>>>> ---
> >>>>>> meta/classes/binconfig.bbclass | 65 ++++++++++++++++++++++++++++++++++++------
> >>>>>> 1 file changed, 56 insertions(+), 9 deletions(-)
> >>>>> This isn't going in, its complex and supports a minority use case.
> >>>>> binconfig should be dying out, not being extended and shored up like
> >>>>> this.
> >>>>>
> >>>>> I'd also add this patch is buggy, its pure luck that update-alternatives
> >>>>> is available at rootfs generation time since its not in a visible
> >>>>> dependency.
> >>>>>
> >>>>> So going forward I'd like to see patches which simply delete binconfig
> >>>>> scripts. Where there isn't a .pc alternative we should be adding them
> >>>>> and pushing them upstream.
> >>>> Did you mean we'd better remove all *-config scripts, insteaded by
> >>>> providing .pc files, and send the changes to all upstreams providing and
> >>>> using *-config? That seems a huge work and we need co-operate with a lot
> >>>> of projects.
> >>> Basically, yes, that is what I mean. I might be wrong but I don't think
> >>> there are that many projects which don't ship .pc files now and just
> >>> have a binconfig as a backup.
> >> Yes, I also noticed that many of them are providing .pc files as well as
> >> binconfig as a backup, so I think there must be reasons binconfig
> >> remained in their projects, that might be for compliable considering,
> >> so I am not sure they would like to remove them from their projects, but
> >> I can try to ping them. Nevertheless, the conflicts still exist, we just
> >> leave them here so far?
> > I'm thinking we should start deleting the -config files at do_install
> > time where we know a good .pc file exists and remove the binconfig
> > inherit. If this causes any problem in software using the package, we
> > should fix those to use pkgconfig.
> >
> > Over time the conflicts will stop existing since the binconfig class
> > will not be used anywhere.
> Yes, that's a feasible solution, but it needs a lot of testing works,
> unfortunately, I am a little busy with my daily work recently and cant
> handle it parallelly, so I'd like to file a bug in Yocto, see if anybody
> like to take it, or I will do it when I can tear myself away from work
> later.
Agreed, I'm not asking you personally to do all of this, just suggesting
that ultimately this is the route we need to take.
Cheers,
Richard
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts
2014-04-09 10:07 ` Ming Liu
@ 2014-04-09 12:50 ` Richard Purdie
0 siblings, 0 replies; 14+ messages in thread
From: Richard Purdie @ 2014-04-09 12:50 UTC (permalink / raw)
To: Ming Liu; +Cc: openembedded-core
On Wed, 2014-04-09 at 18:07 +0800, Ming Liu wrote:
> On 04/09/2014 06:01 PM, Ming Liu wrote:
> > On 04/09/2014 05:42 PM, Richard Purdie wrote:
> >> On Wed, 2014-04-09 at 14:41 +0800, Ming Liu wrote:
> >>> On 04/08/2014 06:03 PM, Richard Purdie wrote:
> >>>> On Tue, 2014-04-08 at 10:27 +0800, Ming Liu wrote:
> >>>>> On 04/07/2014 07:36 PM, Richard Purdie wrote:
> >>>>>> On Mon, 2014-04-07 at 19:27 +0800, Ming Liu wrote:
> >>>>>>> In most cases binconfig files conflict among multilib packages,
> >>>>>>> to avoid
> >>>>>>> that, use update-alternatives link *-config from real path with a
> >>>>>>> PACKAGE_ARCH suffix.
> >>>>>>>
> >>>>>>> Signed-off-by: Ming Liu <ming.liu@windriver.com>
> >>>>>>> ---
> >>>>>>> meta/classes/binconfig.bbclass | 65
> >>>>>>> ++++++++++++++++++++++++++++++++++++------
> >>>>>>> 1 file changed, 56 insertions(+), 9 deletions(-)
> >>>>>> This isn't going in, its complex and supports a minority use case.
> >>>>>> binconfig should be dying out, not being extended and shored up like
> >>>>>> this.
> >>>>>>
> >>>>>> I'd also add this patch is buggy, its pure luck that
> >>>>>> update-alternatives
> >>>>>> is available at rootfs generation time since its not in a visible
> >>>>>> dependency.
> >>>>>>
> >>>>>> So going forward I'd like to see patches which simply delete
> >>>>>> binconfig
> >>>>>> scripts. Where there isn't a .pc alternative we should be adding
> >>>>>> them
> >>>>>> and pushing them upstream.
> >>>>> Did you mean we'd better remove all *-config scripts, insteaded by
> >>>>> providing .pc files, and send the changes to all upstreams
> >>>>> providing and
> >>>>> using *-config? That seems a huge work and we need co-operate with
> >>>>> a lot
> >>>>> of projects.
> >>>> Basically, yes, that is what I mean. I might be wrong but I don't
> >>>> think
> >>>> there are that many projects which don't ship .pc files now and just
> >>>> have a binconfig as a backup.
> >>> Yes, I also noticed that many of them are providing .pc files as
> >>> well as
> >>> binconfig as a backup, so I think there must be reasons binconfig
> >>> remained in their projects, that might be for compliable considering,
> >>> so I am not sure they would like to remove them from their projects,
> >>> but
> >>> I can try to ping them. Nevertheless, the conflicts still exist, we
> >>> just
> >>> leave them here so far?
> >> I'm thinking we should start deleting the -config files at do_install
> >> time where we know a good .pc file exists and remove the binconfig
> >> inherit. If this causes any problem in software using the package, we
> >> should fix those to use pkgconfig.
> >>
> >> Over time the conflicts will stop existing since the binconfig class
> >> will not be used anywhere.
> > Yes, that's a feasible solution, but it needs a lot of testing works,
> > unfortunately, I am a little busy with my daily work recently and cant
> > handle it parallelly, so I'd like to file a bug in Yocto, see if
> > anybody like to take it, or I will do it when I can tear myself away
> > from work later.
> Seems we already have the defect record, and Qi Chen has been working on
> that for a while, see the following:
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=2453
That bug suggests we have .pc files for all -config files. We would
therefore next need to follow through and remove all the -config files
entirely and just rely on the .pc files. We should open an enhancement
request for that.
Cheers,
Richard
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2014-04-09 12:50 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-07 11:27 [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Ming Liu
2014-04-07 11:27 ` [PATCH 2/3] freetype: fix multilib header conflict - ftconfig.h Ming Liu
2014-04-07 11:27 ` [PATCH 3/3] binconfig.bbclass: fix multilib file conflicts Ming Liu
2014-04-07 11:36 ` Richard Purdie
2014-04-08 2:27 ` Ming Liu
2014-04-08 10:03 ` Richard Purdie
2014-04-09 6:41 ` Ming Liu
2014-04-09 9:42 ` Richard Purdie
2014-04-09 10:01 ` Ming Liu
2014-04-09 10:07 ` Ming Liu
2014-04-09 12:50 ` Richard Purdie
2014-04-09 10:08 ` Richard Purdie
2014-04-07 19:50 ` [PATCH 1/3] e2fsprogs: fix multilib header conflict - ext2_types.h Khem Raj
2014-04-08 2:04 ` Ming Liu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox