summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
Diffstat (limited to 'classes')
-rw-r--r--classes/cpan.bbclass13
-rw-r--r--classes/insane.bbclass15
2 files changed, 24 insertions, 4 deletions
diff --git a/classes/cpan.bbclass b/classes/cpan.bbclass
index 9915bf6f67..00709f7e18 100644
--- a/classes/cpan.bbclass
+++ b/classes/cpan.bbclass
@@ -31,7 +31,18 @@ def is_new_perl(d):
return "no"
return "yes"
+# Determine where the library directories are
+def perl_get_libdirs(d):
+ import bb
+ libdir = bb.data.getVar('libdir', d, 1)
+ if is_new_perl(d) == "yes":
+ libdirs = libdir + '/perl5'
+ else:
+ libdirs = libdir + '/*/*/perl5'
+ return libdirs
+
IS_NEW_PERL = "${@is_new_perl(d)}"
+PERLLIBDIRS = "${@perl_get_libdirs(d)}"
cpan_do_configure () {
perl Makefile.PL ${EXTRA_CPANFLAGS}
@@ -57,7 +68,7 @@ cpan_do_configure () {
cpan_do_compile () {
if [ "${IS_NEW_PERL}" = "yes" ]; then
- oe_runmake PASTHRU_INC="${CFLAGS}" CCFLAGS="${CFLAGS}" LD=${TARGET_SYS}-gcc
+ oe_runmake PASTHRU_INC="${CFLAGS}" CCFLAGS="${CFLAGS}" LD="${CCLD}"
else
# You must use gcc to link on sh
OPTIONS=""
diff --git a/classes/insane.bbclass b/classes/insane.bbclass
index c424a573d3..30b164b734 100644
--- a/classes/insane.bbclass
+++ b/classes/insane.bbclass
@@ -21,7 +21,8 @@
# We play a special package function
inherit package
-PACKAGE_DEPENDS += "pax-utils-native chrpath-native"
+PACKAGE_DEPENDS += "pax-utils-native"
+#PACKAGE_DEPENDS += chrpath-native"
PACKAGEFUNCS += " do_package_qa "
@@ -202,19 +203,27 @@ def package_qa_check_rpath(file,name,d):
"""
import bb, os
scanelf = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'scanelf')
+ #chrpath = os.path.join(bb.data.getVar('STAGING_BINDIR_NATIVE',d,True),'chrpath')
bad_dir = bb.data.getVar('TMPDIR', d, True) + "/work"
bad_dir_test = bb.data.getVar('TMPDIR', d, True)
if not os.path.exists(scanelf):
- bb.fatal("Can not check RPATH scanelf not found")
+ bb.fatal("Can not check RPATH, scanelf (part of pax-utils-native) not found")
+ #if not os.path.exists(chrpath):
+ # bb.fatal("Can not fix RPATH, chrpath (part of chrpath-native) not found")
if not bad_dir in bb.data.getVar('WORKDIR', d, True):
bb.fatal("This class assumed that WORKDIR is ${TMPDIR}/work... Not doing any check")
- output = os.popen("%s -Byr %s" % (scanelf,file))
+ #bb.note("%s -B -F%%r#F %s" % (scanelf,file))
+ output = os.popen("%s -B -F%%r#F %s" % (scanelf,file))
txt = output.readline().split()
+ #bb.note("???%s???" % bad_dir_test)
for line in txt:
+ #bb.note("===%s===" % line)
if bad_dir_test in line:
package_qa_write_error( 1, name, file, d)
bb.error("QA Issue package %s contains bad RPATH %s in file %s" % (name, line, file))
+ #bb.note("Fixing RPATH for you in %s" % file)
+ #os.popen("%s -r /lib %s" % (chrpath,file))
return False
return True