* Automatic generation of circular deps sucks
@ 2013-01-17 10:50 Marcin Juszkiewicz
2013-01-17 15:27 ` Chris Larson
0 siblings, 1 reply; 2+ messages in thread
From: Marcin Juszkiewicz @ 2013-01-17 10:50 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 1111 bytes --]
As part of work I need to get libelf and libdwarf in one rootfs. So I
started with split of elfutils into separate packages. After some
rebuilds and checking how it got sorted out in Debian I got version in
attachment working.
So I started build of rootfs:
| * check_data_file_clashes: Package libdw-dev wants to install file
/home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/work/genericarmv8-oe-linux/linaro-image-sdk/1.0-r2/rootfs/usr/include/dwarf.h
| But that file is already provided by package * libdwarf-dev
WTH? was my first though. So I checked deeper...
Libdwarf (recipe) DEPENDS on elfutils and gives static library in
libdwarf-staticdev package, headers in libdwarf-dev package. OK, it
works. So I looked at dependencies of resulting packages.
Why libdwarf-dev recommends elfutils-dev is beyond my knowledge...
In effect installing libdwarf-dev fetches elfutils-dev which fetches
libdw-dev which conflicts with libdwarf-dev. Magically without any
RRECOMMENDS_${PN}-dev = "elfutils-dev" in libdwarf recipe...
What is wrong and how to fix it?
[-- Attachment #2: 0001-elfutils-split-libraries-into-separate-packages.patch --]
[-- Type: text/x-diff, Size: 2515 bytes --]
From d0b2edecbe66e6e9721f14ac84abdf8e8c82cad4 Mon Sep 17 00:00:00 2001
From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Date: Thu, 17 Jan 2013 11:44:40 +0100
Subject: [PATCH] elfutils: split libraries into separate packages
libdw-dev conflicts with libdwarf-dev
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
meta/recipes-devtools/elfutils/elfutils_0.148.bb | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
index 45931b0..8bd32f8 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.148.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
DEPENDS = "libtool bzip2 zlib virtual/libintl"
-PR = "r9"
+PR = "r10"
SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
@@ -66,7 +66,7 @@ EXTRA_OEMAKE_class-nativesdk = ""
BBCLASSEXTEND = "native nativesdk"
# Package utilities separately
-PACKAGES =+ "${PN}-binutils"
+PACKAGES =+ "${PN}-binutils libelf libasm libdw libdw-dev libasm-dev libelf-dev"
FILES_${PN}-binutils = "\
${bindir}/eu-addr2line \
${bindir}/eu-ld \
@@ -75,11 +75,16 @@ FILES_${PN}-binutils = "\
${bindir}/eu-size \
${bindir}/eu-strip"
+FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
+FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
+FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
+FILES_libelf-dev = "${libdir}/libelf.so ${includedir}"
+FILES_libasm-dev = "${libdir}/libasm.so ${includedir}/elfutils/libasm.h"
+FILES_libdw-dev = "${libdir}/libdw.so ${includedir}/dwarf.h ${includedir}/elfutils/libdw*.h"
# Some packages have the version preceeding the .so instead properly
# versioned .so.<version>, so we need to reorder and repackage.
-FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
-FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
+#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
+#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
# The package contains symlinks that trip up insane
-INSANE_SKIP_${PN} = "dev-so"
-
+INSANE_SKIP_libdw = "dev-so"
--
1.8.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: Automatic generation of circular deps sucks
2013-01-17 10:50 Automatic generation of circular deps sucks Marcin Juszkiewicz
@ 2013-01-17 15:27 ` Chris Larson
0 siblings, 0 replies; 2+ messages in thread
From: Chris Larson @ 2013-01-17 15:27 UTC (permalink / raw)
To: Marcin Juszkiewicz; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 758 bytes --]
On Thu, Jan 17, 2013 at 3:50 AM, Marcin Juszkiewicz <
marcin.juszkiewicz@linaro.org> wrote:
> Libdwarf (recipe) DEPENDS on elfutils and gives static library in
> libdwarf-staticdev package, headers in libdwarf-dev package. OK, it
> works. So I looked at dependencies of resulting packages.
>
> Why libdwarf-dev recommends elfutils-dev is beyond my knowledge...
>
This has always been the case. -dev/-dbg use depchains to pull in their
corresponding packages of the DEPENDS of the main package, to ensure that
all the necessary development or debugging files are available, as far as I
know. Grep around for depchains, you'll see the code, but it's mostly
handled at line 1716 (package_depchains) of package.bbclass.
--
Christopher Larson
[-- Attachment #2: Type: text/html, Size: 1095 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-01-17 15:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-17 10:50 Automatic generation of circular deps sucks Marcin Juszkiewicz
2013-01-17 15:27 ` Chris Larson
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.