Patchwork [1/2] attr/acl: add SSTATEPOSTINSTFUNC

login
register
mail settings
Submitter Saul Wold
Date Sept. 24, 2011, 6:56 p.m.
Message ID <62e9da86a45eef3dd374bd8c7e110f619f620f80.1316890497.git.sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/12083/
State New, archived
Headers show

Comments

Saul Wold - Sept. 24, 2011, 6:56 p.m.
Added a native sstate post install function to fix the links
created between /lib and /usr/lib for the library files. These
links could point to an invalid build area when using shared state.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/recipes-support/attr/acl_2.2.51.bb  |    2 +-
 meta/recipes-support/attr/attr_2.4.46.bb |    2 +-
 meta/recipes-support/attr/ea-acl.inc     |   17 +++++++++++++++++
 3 files changed, 19 insertions(+), 2 deletions(-)
Phil Blundell - Oct. 4, 2011, 3:36 p.m.
On Sat, 2011-09-24 at 11:56 -0700, Saul Wold wrote:
> +fix_symlink () {
> +	# Remove bad symlinks & create the correct symlinks
> +	if test -L ${libdir}/lib${BPN}.so ; then
> +		rm -rf ${libdir}/lib${BPN}.so
> +		ln -sf ${base_libdir}/lib${BPN}.so ${libdir}/lib${BPN}.so
> +	fi

This breaks the build for me on micro.  I end up with a symlink pointing
to itself:

lrwxrwxrwx 1 pb pb 76 2011-10-04
16:09 /home/pb/oe/build-epia/build/tmp-eglibc/sysroots/x86_64-linux/lib/libattr.so -> /home/pb/oe/build-epia/build/tmp-eglibc/sysroots/x86_64-linux/lib/libattr.so

with predictably bad results.

p.
Saul Wold - Oct. 5, 2011, 5:45 p.m.
On 10/04/2011 08:36 AM, Phil Blundell wrote:
> On Sat, 2011-09-24 at 11:56 -0700, Saul Wold wrote:
>> +fix_symlink () {
>> +	# Remove bad symlinks&  create the correct symlinks
>> +	if test -L ${libdir}/lib${BPN}.so ; then
>> +		rm -rf ${libdir}/lib${BPN}.so
>> +		ln -sf ${base_libdir}/lib${BPN}.so ${libdir}/lib${BPN}.so
>> +	fi
>
> This breaks the build for me on micro.  I end up with a symlink pointing
> to itself:
>
> lrwxrwxrwx 1 pb pb 76 2011-10-04
> 16:09 /home/pb/oe/build-epia/build/tmp-eglibc/sysroots/x86_64-linux/lib/libattr.so ->  /home/pb/oe/build-epia/build/tmp-eglibc/sysroots/x86_64-linux/lib/libattr.so
>
> with predictably bad results.
>
Not good, I guess the change here would be to test if base_libdir and 
libdir are the same, would you confirm that this test would be right?

Thanks
	Sau!

> p.
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Phil Blundell - Oct. 5, 2011, 6:32 p.m.
On Wed, 2011-10-05 at 10:45 -0700, Saul Wold wrote:
> Not good, I guess the change here would be to test if base_libdir and 
> libdir are the same, would you confirm that this test would be right?

Yes, something like that.  Those two dirs are indeed the same on micro.

thanks

p.

Patch

diff --git a/meta/recipes-support/attr/acl_2.2.51.bb b/meta/recipes-support/attr/acl_2.2.51.bb
index 18aac7c..40ba5f1 100644
--- a/meta/recipes-support/attr/acl_2.2.51.bb
+++ b/meta/recipes-support/attr/acl_2.2.51.bb
@@ -1,6 +1,6 @@ 
 require acl.inc
 
-PR = "r1"
+PR = "r2"
 
 SRC_URI[md5sum] = "3fc0ce99dc5253bdcce4c9cd437bc267"
 SRC_URI[sha256sum] = "06854521cf5d396801af7e54b9636680edf8064355e51c07657ec7442a185225"
diff --git a/meta/recipes-support/attr/attr_2.4.46.bb b/meta/recipes-support/attr/attr_2.4.46.bb
index fe8ab79..85c35d0 100644
--- a/meta/recipes-support/attr/attr_2.4.46.bb
+++ b/meta/recipes-support/attr/attr_2.4.46.bb
@@ -1,6 +1,6 @@ 
 require attr.inc
 
-PR = "r1"
+PR = "r2"
 
 SRC_URI[md5sum] = "db557c17fdfa4f785333ecda08654010"
 SRC_URI[sha256sum] = "dcd69bdca7ff166bc45141eddbcf21967999a6b66b0544be12a1cc2fd6340e1f"
diff --git a/meta/recipes-support/attr/ea-acl.inc b/meta/recipes-support/attr/ea-acl.inc
index 2ef1389..22d7848 100644
--- a/meta/recipes-support/attr/ea-acl.inc
+++ b/meta/recipes-support/attr/ea-acl.inc
@@ -35,3 +35,20 @@  BBCLASSEXTEND = "native"
 # Only append ldflags for target recipe and if USE_NLS is enabled
 LDFLAGS_append_libc-uclibc = "${@['', ' -lintl '][(bb.data.getVar('PN', d, True) == bb.data.getVar('BPN', d , True)) and (bb.data.getVar('USE_NLS', d, True) == 'yes')]}"
 EXTRA_OECONF_append_libc-uclibc = "${@['', ' --disable-gettext '][(bb.data.getVar('PN', d, True) == bb.data.getVar('BPN', d , True)) and (bb.data.getVar('USE_NLS', d, True) == 'no')]}"
+
+fix_symlink () {
+	# Remove bad symlinks & create the correct symlinks
+	if test -L ${libdir}/lib${BPN}.so ; then
+		rm -rf ${libdir}/lib${BPN}.so
+		ln -sf ${base_libdir}/lib${BPN}.so ${libdir}/lib${BPN}.so
+	fi
+	if test -L ${base_libdir}/lib${BPN}.a ; then
+		rm -rf ${base_libdir}/lib${BPN}.a
+		ln -sf ${libdir}/lib${BPN}.a ${base_libdir}/lib${BPN}.a
+	fi
+	if test -L  ${base_libdir}/lib${BPN}.la ; then
+		rm -rf ${base_libdir}/lib${BPN}.la
+		ln -sf ${libdir}/lib${BPN}.la ${base_libdir}/lib${BPN}.la
+	fi
+}
+SSTATEPOSTINSTFUNCS_virtclass-native += "fix_symlink"