diff options
Diffstat (limited to 'classes')
| -rw-r--r-- | classes/autotools.bbclass | 4 | ||||
| -rw-r--r-- | classes/base.bbclass | 19 | ||||
| -rw-r--r-- | classes/binconfig.bbclass | 4 | ||||
| -rw-r--r-- | classes/java-library.bbclass | 21 | ||||
| -rw-r--r-- | classes/java.bbclass | 36 | ||||
| -rw-r--r-- | classes/native.bbclass | 9 | ||||
| -rw-r--r-- | classes/package.bbclass | 7 |
7 files changed, 57 insertions, 43 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass index b4e78f8118..82b5311ef5 100644 --- a/classes/autotools.bbclass +++ b/classes/autotools.bbclass @@ -190,6 +190,10 @@ autotools_stage_all() { autotools_stage_dir ${STAGE_TEMP}/${base_bindir} ${STAGING_DIR_HOST}${layout_base_bindir} autotools_stage_dir ${STAGE_TEMP}/${base_sbindir} ${STAGING_DIR_HOST}${layout_base_sbindir} autotools_stage_dir ${STAGE_TEMP}/${libexecdir} ${STAGING_DIR_HOST}${layout_libexecdir} + if [ "${prefix}/lib" != "${libdir}" ]; then + # python puts its files in here, make sure they are staged as well + autotools_stage_dir ${STAGE_TEMP}/${prefix}/lib ${STAGING_DIR_HOST}${layout_prefix}/lib + fi fi if [ -d ${STAGE_TEMP}/${libdir} ] then diff --git a/classes/base.bbclass b/classes/base.bbclass index b50bc8667c..93a76aa30f 100644 --- a/classes/base.bbclass +++ b/classes/base.bbclass @@ -157,6 +157,23 @@ def base_both_contain(variable1, variable2, checkvalue, d): DEPENDS_prepend="${@base_dep_prepend(d)} " +# Returns PN with various suffixes removed +# or PN if no matching suffix was found. +def base_package_name(d): + import bb; + + pn = bb.data.getVar('PN', d, 1) + if pn.endswith("-native"): + pn = pn[0:-7] + elif pn.endswith("-cross"): + pn = pn[0:-6] + elif pn.endswith("-initial"): + pn = pn[0:-8] + elif pn.endswith("-intermediate"): + pn = pn[0:-13] + + return pn + def base_set_filespath(path, d): import os, bb filespath = [] @@ -167,7 +184,7 @@ def base_set_filespath(path, d): filespath.append(os.path.join(p, o)) return ":".join(filespath) -FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}" +FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ], d)}" def oe_filter(f, str, d): from re import match diff --git a/classes/binconfig.bbclass b/classes/binconfig.bbclass index 6c2c32a970..5789903178 100644 --- a/classes/binconfig.bbclass +++ b/classes/binconfig.bbclass @@ -11,8 +11,8 @@ def get_binconfig_mangle(d): s += " -e 's:=%s${libdir}:=\\1OELIBDIR:;'" % optional_quote s += " -e 's:=%s${includedir}:=\\1OEINCDIR:;'" % optional_quote s += " -e 's:=%s${datadir}:=\\1OEDATADIR:'" % optional_quote - s += " -e 's:=%s${prefix}:=\\1OEPREFIX:'" % optional_quote - s += " -e 's:=%s${exec_prefix}:=\\1OEEXECPREFIX:'" % optional_quote + s += " -e 's:=%s${prefix}/:=\\1OEPREFIX/:'" % optional_quote + s += " -e 's:=%s${exec_prefix}/:=\\1OEEXECPREFIX/:'" % optional_quote s += " -e 's:-L${libdir}:-LOELIBDIR:;'" s += " -e 's:-I${includedir}:-IOEINCDIR:;'" s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'" diff --git a/classes/java-library.bbclass b/classes/java-library.bbclass index eced939ef0..06c3170544 100644 --- a/classes/java-library.bbclass +++ b/classes/java-library.bbclass @@ -10,6 +10,9 @@ inherit java +# use java_stage for native packages +JAVA_NATIVE_STAGE_INSTALL = "1" + def java_package_name(d): import bb; @@ -25,18 +28,6 @@ def java_package_name(d): return pre + pn + post -def java_base_package_name(d): - import bb; - - pre="" - post="" - - pn = bb.data.getVar('PN', d, 1) - if pn.endswith("-native"): - pn = pn[0:-7] - - return pn - JPN ?= "${@java_package_name(d)}" DEPENDS_prepend = "virtual/javac-native fastjar-native " @@ -47,12 +38,6 @@ PACKAGE_ARCH_${JPN} = "all" FILES_${JPN} = "${datadir_java}" -# Base package name -# Automatically derives "foo" from "foo-native" -BPN ?= ""${@java_base_package_name(d)}"" - -BP ?= "${BPN}-${PV}" - # File name of the libraries' main Jar file JARFILENAME = "${BP}.jar" diff --git a/classes/java.bbclass b/classes/java.bbclass index 32415d5800..7b67bcd510 100644 --- a/classes/java.bbclass +++ b/classes/java.bbclass @@ -84,32 +84,32 @@ oe_makeclasspath() { # # oe_makeclasspath cp foo baz bar # Stores ${datadir_java}/foo.jar:${datadir_java}/baz.jar:${datadir_java}/bar.jar - # in variable "cp". + # in variable "cp". # # oe_makeclasspath bootcp -s foo baz bar # Stores ${STAGING_DATADIR_JAVA}/foo.jar:${STAGING_DATADIR_JAVA}/baz.jar:${STAGING_DATADIR_JAVA}/bar.jar - # in variable "bootcp". - # + # in variable "bootcp". + # # Provide the -s at the beginning otherwise strange things happen. - # If -s is given the function checks whether the requested jar file exists - # and exits with an error message if it cannot be found. - # + # If -s is given the function checks whether the requested jar file exists + # and exits with an error message if it cannot be found. + # dir=${datadir_java} - classpath= - delimiter= - retval=$1 + classpath= + delimiter= + retval=$1 - shift + shift while [ "$#" -gt 0 ]; do case "$1" in -s) - # take jar files from native staging if this is a -native recipe - if [ ${PACKAGE_ARCH} = ${BUILD_ARCH} ]; then + # take jar files from native staging if this is a -native recipe + if [ ${PACKAGE_ARCH} = ${BUILD_ARCH} ]; then dir=${STAGING_DATADIR_JAVA_NATIVE} - else + else dir=${STAGING_DATADIR_JAVA} - fi + fi ;; -*) oefatal "oe_makeclasspath: unknown option: $1" @@ -117,9 +117,9 @@ oe_makeclasspath() { *) file=$dir/$1.jar - if [ -z "$dir" -a ! -f $file ]; then - oefatal "oe_makeclasspath: Jar file for '$1' not found at $file" - fi + if [ -z "$dir" -a ! -f $file ]; then + oefatal "oe_makeclasspath: Jar file for '$1' not found at $file" + fi classpath=$classpath$delimiter$file delimiter=":" @@ -128,7 +128,7 @@ oe_makeclasspath() { shift done - eval $retval="$classpath" + eval $retval="$classpath" } # Creates a simple wrapper script for your Java program. diff --git a/classes/native.bbclass b/classes/native.bbclass index 8f79935040..61048b6b14 100644 --- a/classes/native.bbclass +++ b/classes/native.bbclass @@ -80,11 +80,14 @@ export oldincludedir = "${STAGING_DIR_NATIVE}${layout_includedir}" do_stage () { if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ] then - if [ "${AUTOTOOLS_NATIVE_STAGE_INSTALL}" != "1" ] + if [ "${JAVA_NATIVE_STAGE_INSTALL}" = "1" ] + then + java_stage + elif [ "${AUTOTOOLS_NATIVE_STAGE_INSTALL}" = "1" ] then - oe_runmake install - else autotools_stage_all + else + oe_runmake install fi fi } diff --git a/classes/package.bbclass b/classes/package.bbclass index 5daa7065ce..15574f6ced 100644 --- a/classes/package.bbclass +++ b/classes/package.bbclass @@ -600,6 +600,11 @@ python package_do_shlibs() { else: snap_symlinks = False + if (bb.data.getVar('USE_LDCONFIG', d, True) or "1") == "1": + use_ldconfig = True + else: + use_ldconfig = False + needed = {} private_libs = bb.data.getVar('PRIVATE_LIBS', d, 1) for pkg in packages.split(): @@ -653,7 +658,7 @@ python package_do_shlibs() { fd.write(ver + '\n') fd.close() package_stagefile(shver_file, d) - if needs_ldconfig: + if needs_ldconfig and use_ldconfig: bb.debug(1, 'adding ldconfig call to postinst for %s' % pkg) postinst = bb.data.getVar('pkg_postinst_%s' % pkg, d, 1) or bb.data.getVar('pkg_postinst', d, 1) if not postinst: |
