diff options
| -rw-r--r-- | meta/classes/autotools.bbclass | 22 | ||||
| -rw-r--r-- | meta/classes/binconfig.bbclass | 2 | ||||
| -rw-r--r-- | meta/classes/distutils-base.bbclass | 6 | ||||
| -rw-r--r-- | meta/classes/icecc.bbclass | 309 | ||||
| -rw-r--r-- | meta/classes/kernel-arch.bbclass | 17 | ||||
| -rw-r--r-- | meta/classes/rm_work.bbclass | 7 | ||||
| -rw-r--r-- | meta/classes/scons.bbclass | 2 | ||||
| -rw-r--r-- | meta/classes/siteinfo.bbclass | 11 | ||||
| -rw-r--r-- | meta/classes/src_distribute_local.bbclass | 4 | ||||
| -rw-r--r-- | meta/classes/tinderclient.bbclass | 4 | ||||
| -rw-r--r-- | meta/classes/xfce.bbclass | 3 |
11 files changed, 285 insertions, 102 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 472249d2ea..fccf2b6d80 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass | |||
| @@ -16,10 +16,9 @@ def autotools_dep_prepend(d): | |||
| 16 | if not pn in ['libtool', 'libtool-native', 'libtool-cross']: | 16 | if not pn in ['libtool', 'libtool-native', 'libtool-cross']: |
| 17 | deps += 'libtool-native ' | 17 | deps += 'libtool-native ' |
| 18 | if not bb.data.inherits_class('native', d) \ | 18 | if not bb.data.inherits_class('native', d) \ |
| 19 | and not bb.data.inherits_class('cross', d) \ | 19 | and not bb.data.inherits_class('cross', d) \ |
| 20 | and not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, 1): | 20 | and not bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, 1): |
| 21 | deps += 'libtool-cross ' | 21 | deps += 'libtool-cross ' |
| 22 | |||
| 23 | 22 | ||
| 24 | return deps + 'gnu-config-native ' | 23 | return deps + 'gnu-config-native ' |
| 25 | 24 | ||
| @@ -124,14 +123,6 @@ autotools_do_configure() { | |||
| 124 | oenote Executing intltoolize --copy --force --automake | 123 | oenote Executing intltoolize --copy --force --automake |
| 125 | intltoolize --copy --force --automake | 124 | intltoolize --copy --force --automake |
| 126 | fi | 125 | fi |
| 127 | #if grep "^GTK_DOC_CHECK" $CONFIGURE_AC >/dev/null; then | ||
| 128 | # oenote Executing gtkdocize --copy | ||
| 129 | # gtkdocize --copy | ||
| 130 | #fi | ||
| 131 | #if grep "^GNOME_DOC_INIT" $CONFIGURE_AC >/dev/null; then | ||
| 132 | # oenote Executing gnome-doc-prepare --copy --force | ||
| 133 | # gnome-doc-prepare --copy --force | ||
| 134 | #fi | ||
| 135 | oenote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths | 126 | oenote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths |
| 136 | mkdir -p m4 | 127 | mkdir -p m4 |
| 137 | autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed." | 128 | autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || oefatal "autoreconf execution failed." |
| @@ -148,6 +139,13 @@ autotools_do_configure() { | |||
| 148 | 139 | ||
| 149 | autotools_do_install() { | 140 | autotools_do_install() { |
| 150 | oe_runmake 'DESTDIR=${D}' install | 141 | oe_runmake 'DESTDIR=${D}' install |
| 142 | |||
| 143 | for i in `find ${D} -name "*.la"` ; do \ | ||
| 144 | sed -i -e s:${STAGING_LIBDIR}:${libdir}:g $i | ||
| 145 | sed -i -e s:${D}::g $i | ||
| 146 | sed -i -e 's:-I${WORKDIR}\S*: :g' $i | ||
| 147 | sed -i -e 's:-L${WORKDIR}\S*: :g' $i | ||
| 148 | done | ||
| 151 | } | 149 | } |
| 152 | 150 | ||
| 153 | STAGE_TEMP="${WORKDIR}/temp-staging" | 151 | STAGE_TEMP="${WORKDIR}/temp-staging" |
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass index dadf2dddfc..497b78f454 100644 --- a/meta/classes/binconfig.bbclass +++ b/meta/classes/binconfig.bbclass | |||
| @@ -18,6 +18,8 @@ def get_binconfig_mangle(d): | |||
| 18 | s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'" | 18 | s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'" |
| 19 | s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'" | 19 | s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'" |
| 20 | s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'" | 20 | s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'" |
| 21 | s += " -e 's:-I${WORKDIR}:-I${STAGING_INCDIR}:'" | ||
| 22 | s += " -e 's:-L${WORKDIR}:-L${STAGING_LIBDIR}:'" | ||
| 21 | return s | 23 | return s |
| 22 | 24 | ||
| 23 | BINCONFIG_GLOB ?= "*-config" | 25 | BINCONFIG_GLOB ?= "*-config" |
diff --git a/meta/classes/distutils-base.bbclass b/meta/classes/distutils-base.bbclass index 15e945d518..c3f325768d 100644 --- a/meta/classes/distutils-base.bbclass +++ b/meta/classes/distutils-base.bbclass | |||
| @@ -7,8 +7,12 @@ def python_dir(d): | |||
| 7 | staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) | 7 | staging_incdir = bb.data.getVar( "STAGING_INCDIR", d, 1 ) |
| 8 | if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3" | 8 | if os.path.exists( "%s/python2.3" % staging_incdir ): return "python2.3" |
| 9 | if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4" | 9 | if os.path.exists( "%s/python2.4" % staging_incdir ): return "python2.4" |
| 10 | if os.path.exists( "%s/python2.5" % staging_incdir ): return "python2.5" | ||
| 10 | raise "No Python in STAGING_INCDIR. Forgot to build python-native ?" | 11 | raise "No Python in STAGING_INCDIR. Forgot to build python-native ?" |
| 11 | 12 | ||
| 12 | PYTHON_DIR = "${@python_dir(d)}" | 13 | PYTHON_DIR = "${@python_dir(d)}" |
| 13 | FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}" | 14 | FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*" |
| 15 | FILES_${PN}-dbg = "${libdir}/${PYTHON_DIR}/site-packages/.debug \ | ||
| 16 | ${libdir}/${PYTHON_DIR}/site-packages/./*/debug \ | ||
| 17 | ${libdir}/${PYTHON_DIR}/site-packages/*/*/.debug" | ||
| 14 | 18 | ||
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 2f34d408d2..446e78ae1a 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass | |||
| @@ -1,8 +1,30 @@ | |||
| 1 | # IceCream distributed compiling support | 1 | # IceCream distributed compiling support |
| 2 | # | 2 | # |
| 3 | # We need to create a tar.bz2 of our toolchain and set | 3 | # Stages directories with symlinks from gcc/g++ to icecc, for both |
| 4 | # ICECC_VERSION, ICECC_CXX and ICEC_CC | 4 | # native and cross compilers. Depending on each configure or compile, |
| 5 | # the directories are added at the head of the PATH list and ICECC_CXX | ||
| 6 | # and ICEC_CC are set. | ||
| 5 | # | 7 | # |
| 8 | # For the cross compiler, creates a tar.gz of our toolchain and sets | ||
| 9 | # ICECC_VERSION accordingly. | ||
| 10 | # | ||
| 11 | #The class now handles all 3 different compile 'stages' (i.e native ,cross-kernel and target) creating the | ||
| 12 | #necessary enviroment tar.gz file to be used by the remote machines | ||
| 13 | # | ||
| 14 | #If ICECC_PATH is not set in local.conf then the class will try to locate it using 'which' | ||
| 15 | #but nothing is sure ;) | ||
| 16 | # | ||
| 17 | #If ICECC_ENV_EXEC is set in local.conf should point to the icecc-create-env script provided by the user | ||
| 18 | #or the default one provided by icecc-create-env.bb will be used | ||
| 19 | #(NOTE that this is a modified version of the script need it and *not the one that comes with icecc* | ||
| 20 | # | ||
| 21 | #User can specify if specific packages or packages belonging to class should not use icecc to distribute | ||
| 22 | #compile jobs to remote machines, but handled localy, by defining ICECC_USER_CLASS_BL and ICECC_PACKAGE_BL | ||
| 23 | #with the appropriate values in local.conf | ||
| 24 | ######################################################################################### | ||
| 25 | #Error checking is kept to minimum so double check any parameters you pass to the class | ||
| 26 | ########################################################################################### | ||
| 27 | |||
| 6 | 28 | ||
| 7 | def icc_determine_gcc_version(gcc): | 29 | def icc_determine_gcc_version(gcc): |
| 8 | """ | 30 | """ |
| @@ -10,11 +32,12 @@ def icc_determine_gcc_version(gcc): | |||
| 10 | 32 | ||
| 11 | 'i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)' | 33 | 'i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)' |
| 12 | """ | 34 | """ |
| 35 | import os | ||
| 13 | return os.popen("%s --version" % gcc ).readline().split()[2] | 36 | return os.popen("%s --version" % gcc ).readline().split()[2] |
| 14 | 37 | ||
| 15 | def create_env(bb,d): | 38 | def create_cross_env(bb,d): |
| 16 | """ | 39 | """ |
| 17 | Create a tar.bz of the current toolchain | 40 | Create a tar.bz2 of the current toolchain |
| 18 | """ | 41 | """ |
| 19 | 42 | ||
| 20 | # Constin native-native compilation no environment needed if | 43 | # Constin native-native compilation no environment needed if |
| @@ -23,78 +46,156 @@ def create_env(bb,d): | |||
| 23 | if len(prefix) == 0: | 46 | if len(prefix) == 0: |
| 24 | return "" | 47 | return "" |
| 25 | 48 | ||
| 26 | import tarfile | 49 | import tarfile, socket, time, os |
| 27 | import socket | ||
| 28 | import time | ||
| 29 | import os | ||
| 30 | ice_dir = bb.data.expand('${CROSS_DIR}', d) | 50 | ice_dir = bb.data.expand('${CROSS_DIR}', d) |
| 31 | prefix = bb.data.expand('${HOST_PREFIX}' , d) | 51 | prefix = bb.data.expand('${HOST_PREFIX}' , d) |
| 32 | distro = bb.data.expand('${DISTRO}', d) | 52 | distro = bb.data.expand('${DISTRO}', d) |
| 33 | target_sys = bb.data.expand('${TARGET_SYS}', d) | 53 | target_sys = bb.data.expand('${TARGET_SYS}', d) |
| 34 | float = bb.data.getVar('${TARGET_FPU}', d) or "hard" | 54 | target_prefix = bb.data.expand('${TARGET_PREFIX}', d) |
| 55 | float = bb.data.getVar('TARGET_FPU', d) or "hard" | ||
| 35 | name = socket.gethostname() | 56 | name = socket.gethostname() |
| 57 | |||
| 36 | 58 | ||
| 37 | # Stupid check to determine if we have built a libc and a cross | 59 | # Stupid check to determine if we have built a libc and a cross |
| 38 | # compiler. | 60 | # compiler. |
| 39 | try: | 61 | try: |
| 40 | os.stat(os.path.join(ice_dir, target_sys, 'lib', 'ld-linux.so.2')) | 62 | os.stat(os.path.join(ice_dir, target_sys, 'lib', 'libc.so')) |
| 41 | os.stat(os.path.join(ice_dir, target_sys, 'bin', 'g++')) | 63 | os.stat(os.path.join(ice_dir, target_sys, 'bin', 'g++')) |
| 42 | except: | 64 | except: # no cross compiler built yet |
| 43 | return "" | 65 | return "" |
| 44 | 66 | ||
| 45 | VERSION = icc_determine_gcc_version( os.path.join(ice_dir,target_sys,"bin","g++") ) | 67 | VERSION = icc_determine_gcc_version( os.path.join(ice_dir,target_sys,"bin","g++") ) |
| 46 | cross_name = prefix + distro + target_sys + float +VERSION+ name | 68 | cross_name = prefix + distro + "-" + target_sys + "-" + float + "-" + VERSION + "-" + name |
| 47 | tar_file = os.path.join(ice_dir, 'ice', cross_name + '.tar.bz2') | 69 | tar_file = os.path.join(ice_dir, 'ice', cross_name + '.tar.gz') |
| 48 | 70 | ||
| 49 | try: | 71 | try: |
| 50 | os.stat(tar_file) | 72 | os.stat(tar_file) |
| 73 | # tar file already exists | ||
| 51 | return tar_file | 74 | return tar_file |
| 52 | except: | 75 | except: |
| 53 | try: | 76 | try: |
| 54 | os.makedirs(os.path.join(ice_dir,'ice')) | 77 | os.makedirs(os.path.join(ice_dir,'ice')) |
| 55 | except: | 78 | except: |
| 79 | # directory already exists, continue | ||
| 56 | pass | 80 | pass |
| 57 | 81 | ||
| 58 | # FIXME find out the version of the compiler | 82 | |
| 59 | # Consider using -print-prog-name={cc1,cc1plus} | 83 | #check if user has specified a specific icecc-create-env script |
| 60 | # and -print-file-name=specs | 84 | #if not use the OE provided one |
| 61 | 85 | cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env" | |
| 62 | # We will use the GCC to tell us which tools to use | 86 | #call the modified create-env script |
| 63 | # What we need is: | 87 | result=os.popen("%s %s %s %s %s %s" %(cr_env_script, |
| 64 | # -gcc | 88 | "--silent", |
| 65 | # -g++ | 89 | os.path.join(ice_dir,target_sys,'bin','gcc'), |
| 66 | # -as | 90 | os.path.join(ice_dir,target_sys,'bin','g++'), |
| 67 | # -cc1 | 91 | os.path.join(ice_dir,target_sys,'bin','as'), |
| 68 | # -cc1plus | 92 | os.path.join(ice_dir,"ice",cross_name) ) ) |
| 69 | # and we add them to /usr/bin | ||
| 70 | |||
| 71 | tar = tarfile.open(tar_file, 'w:bz2') | ||
| 72 | |||
| 73 | # Now add the required files | ||
| 74 | tar.add(os.path.join(ice_dir,target_sys,'bin','gcc'), | ||
| 75 | os.path.join("usr","bin","gcc") ) | ||
| 76 | tar.add(os.path.join(ice_dir,target_sys,'bin','g++'), | ||
| 77 | os.path.join("usr","bin","g++") ) | ||
| 78 | tar.add(os.path.join(ice_dir,target_sys,'bin','as'), | ||
| 79 | os.path.join("usr","bin","as") ) | ||
| 80 | |||
| 81 | # Now let us find cc1 and cc1plus | ||
| 82 | cc1 = os.popen("%s -print-prog-name=cc1" % data.getVar('CC', d, True)).read()[:-1] | ||
| 83 | cc1plus = os.popen("%s -print-prog-name=cc1plus" % data.getVar('CC', d, True)).read()[:-1] | ||
| 84 | spec = os.popen("%s -print-file-name=specs" % data.getVar('CC', d, True)).read()[:-1] | ||
| 85 | |||
| 86 | # CC1 and CC1PLUS should be there... | ||
| 87 | tar.add(cc1, os.path.join('usr', 'bin', 'cc1')) | ||
| 88 | tar.add(cc1plus, os.path.join('usr', 'bin', 'cc1plus')) | ||
| 89 | |||
| 90 | # spec - if it exists | ||
| 91 | if os.path.exists(spec): | ||
| 92 | tar.add(spec) | ||
| 93 | |||
| 94 | tar.close() | ||
| 95 | return tar_file | 93 | return tar_file |
| 96 | 94 | ||
| 97 | 95 | ||
| 96 | def create_native_env(bb,d): | ||
| 97 | |||
| 98 | import tarfile, socket, time, os | ||
| 99 | ice_dir = bb.data.expand('${CROSS_DIR}', d) | ||
| 100 | prefix = bb.data.expand('${HOST_PREFIX}' , d) | ||
| 101 | distro = bb.data.expand('${DISTRO}', d) | ||
| 102 | target_sys = bb.data.expand('${TARGET_SYS}', d) | ||
| 103 | target_prefix = bb.data.expand('${TARGET_PREFIX}', d) | ||
| 104 | float = bb.data.getVar('TARGET_FPU', d) or "hard" | ||
| 105 | name = socket.gethostname() | ||
| 106 | |||
| 107 | |||
| 108 | archive_name = "local-host-env" + "-" + name | ||
| 109 | tar_file = os.path.join(ice_dir, 'ice', archive_name + '.tar.gz') | ||
| 110 | |||
| 111 | try: | ||
| 112 | os.stat(tar_file) | ||
| 113 | # tar file already exists | ||
| 114 | return tar_file | ||
| 115 | except: | ||
| 116 | try: | ||
| 117 | #os.makedirs(os.path.join(ice_dir)) | ||
| 118 | os.makedirs(os.path.join(ice_dir,'ice')) | ||
| 119 | except: | ||
| 120 | # directory already exists, continue | ||
| 121 | pass | ||
| 122 | |||
| 123 | |||
| 124 | #check if user has specified a specific icecc-create-env script | ||
| 125 | #if not use the OE provided one | ||
| 126 | cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env" | ||
| 127 | result=os.popen("%s %s %s %s %s %s" %(cr_env_script, | ||
| 128 | "--silent", | ||
| 129 | os.popen("%s gcc" % "which").read()[:-1], | ||
| 130 | os.popen("%s g++" % "which").read()[:-1], | ||
| 131 | os.popen("%s as" % "which").read()[:-1], | ||
| 132 | os.path.join(ice_dir,"ice",archive_name) ) ) | ||
| 133 | return tar_file | ||
| 134 | |||
| 135 | |||
| 136 | |||
| 137 | def create_cross_kernel_env(bb,d): | ||
| 138 | |||
| 139 | import tarfile, socket, time, os | ||
| 140 | ice_dir = bb.data.expand('${CROSS_DIR}', d) | ||
| 141 | prefix = bb.data.expand('${HOST_PREFIX}' , d) | ||
| 142 | distro = bb.data.expand('${DISTRO}', d) | ||
| 143 | target_sys = bb.data.expand('${TARGET_SYS}', d) | ||
| 144 | target_prefix = bb.data.expand('${TARGET_PREFIX}', d) | ||
| 145 | float = bb.data.getVar('TARGET_FPU', d) or "hard" | ||
| 146 | name = socket.gethostname() | ||
| 147 | kernel_cc = bb.data.expand('${KERNEL_CC}', d) | ||
| 148 | kernel_cc = kernel_cc[:-1] | ||
| 149 | |||
| 150 | |||
| 151 | # Stupid check to determine if we have built a libc and a cross | ||
| 152 | # compiler. | ||
| 153 | try: | ||
| 154 | os.stat(os.path.join(ice_dir, 'bin', kernel_cc)) | ||
| 155 | except: # no cross compiler built yet | ||
| 156 | return "" | ||
| 157 | |||
| 158 | VERSION = icc_determine_gcc_version( os.path.join(ice_dir,"bin",kernel_cc) ) | ||
| 159 | cross_name = prefix + distro + "-" + target_sys + "-" + float + "-" + VERSION + "-" + name | ||
| 160 | tar_file = os.path.join(ice_dir, 'ice', cross_name + '.tar.gz') | ||
| 161 | |||
| 162 | try: | ||
| 163 | os.stat(tar_file) | ||
| 164 | # tar file already exists | ||
| 165 | return tar_file | ||
| 166 | except: | ||
| 167 | try: | ||
| 168 | os.makedirs(os.path.join(ice_dir,'ice')) | ||
| 169 | except: | ||
| 170 | # directory already exists, continue | ||
| 171 | pass | ||
| 172 | |||
| 173 | |||
| 174 | #check if user has specified a specific icecc-create-env script | ||
| 175 | #if not use the OE provided one | ||
| 176 | cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env" | ||
| 177 | result=os.popen("%s %s %s %s %s %s" %(cr_env_script, | ||
| 178 | "--silent", | ||
| 179 | os.path.join(ice_dir,'bin',kernel_cc), | ||
| 180 | os.path.join(ice_dir,target_sys,'bin','g++'), | ||
| 181 | os.path.join(ice_dir,target_sys,'bin','as'), | ||
| 182 | os.path.join(ice_dir,"ice",cross_name) ) ) | ||
| 183 | return tar_file | ||
| 184 | |||
| 185 | |||
| 186 | def create_env(bb,d): | ||
| 187 | |||
| 188 | #return create_cross_kernel_env(bb,d) | ||
| 189 | if bb.data.inherits_class("native", d): | ||
| 190 | return create_native_env(bb,d) | ||
| 191 | elif bb.data.inherits_class("kernel", d): | ||
| 192 | return create_cross_kernel_env(bb,d) | ||
| 193 | elif bb.data.inherits_class("cross", d): | ||
| 194 | return create_native_env(bb,d) | ||
| 195 | else: | ||
| 196 | return create_cross_env(bb,d) | ||
| 197 | |||
| 198 | |||
| 98 | def create_path(compilers, type, bb, d): | 199 | def create_path(compilers, type, bb, d): |
| 99 | """ | 200 | """ |
| 100 | Create Symlinks for the icecc in the staging directory | 201 | Create Symlinks for the icecc in the staging directory |
| @@ -102,15 +203,17 @@ def create_path(compilers, type, bb, d): | |||
| 102 | import os | 203 | import os |
| 103 | 204 | ||
| 104 | staging = os.path.join(bb.data.expand('${STAGING_DIR}', d), "ice", type) | 205 | staging = os.path.join(bb.data.expand('${STAGING_DIR}', d), "ice", type) |
| 105 | icecc = bb.data.getVar('ICECC_PATH', d) | ||
| 106 | 206 | ||
| 207 | #check if the icecc path is set by the user | ||
| 208 | icecc = bb.data.getVar('ICECC_PATH', d) or os.popen("%s icecc" % "which").read()[:-1] | ||
| 209 | |||
| 210 | |||
| 107 | # Create the dir if necessary | 211 | # Create the dir if necessary |
| 108 | try: | 212 | try: |
| 109 | os.stat(staging) | 213 | os.stat(staging) |
| 110 | except: | 214 | except: |
| 111 | os.makedirs(staging) | 215 | os.makedirs(staging) |
| 112 | 216 | ||
| 113 | |||
| 114 | for compiler in compilers: | 217 | for compiler in compilers: |
| 115 | gcc_path = os.path.join(staging, compiler) | 218 | gcc_path = os.path.join(staging, compiler) |
| 116 | try: | 219 | try: |
| @@ -121,46 +224,89 @@ def create_path(compilers, type, bb, d): | |||
| 121 | return staging + ":" | 224 | return staging + ":" |
| 122 | 225 | ||
| 123 | 226 | ||
| 227 | |||
| 228 | |||
| 229 | |||
| 124 | def use_icc_version(bb,d): | 230 | def use_icc_version(bb,d): |
| 125 | # Constin native native | 231 | |
| 126 | prefix = bb.data.expand('${HOST_PREFIX}', d) | 232 | icecc_ver = "yes" |
| 127 | if len(prefix) == 0: | 233 | system_class_blacklist = [ "none" ] |
| 128 | return "no" | 234 | |
| 235 | for black in system_class_blacklist: | ||
| 236 | if bb.data.inherits_class(black, d): | ||
| 237 | icecc_ver = "no" | ||
| 129 | 238 | ||
| 130 | 239 | ||
| 131 | blacklist = [ "cross", "native" ] | 240 | user_class_blacklist = bb.data.getVar('ICECC_USER_CLASS_BL', d) or "none" |
| 241 | user_class_blacklist = user_class_blacklist.split() | ||
| 242 | |||
| 243 | for black in user_class_blacklist: | ||
| 244 | if bb.data.inherits_class(black, d): | ||
| 245 | icecc_ver = "no" | ||
| 246 | |||
| 247 | return icecc_ver | ||
| 132 | 248 | ||
| 133 | for black in blacklist: | ||
| 134 | if bb.data.inherits_class(black, d): | ||
| 135 | return "no" | ||
| 136 | 249 | ||
| 137 | return "yes" | ||
| 138 | 250 | ||
| 139 | def icc_path(bb,d,compile): | 251 | def icc_path(bb,d,compile): |
| 140 | native = bb.data.expand('${PN}', d) | 252 | package_tmp = bb.data.expand('${PN}', d) |
| 141 | blacklist = [ "ulibc", "glibc", "ncurses" ] | 253 | |
| 142 | for black in blacklist: | 254 | #"system" package blacklist contains a list of packages that can not distribute compile tasks |
| 143 | if black in native: | 255 | #for one reason or the other |
| 144 | return "" | 256 | system_package_blacklist = [ "uclibc", "glibc-intermediate", "qemu" ] |
| 257 | |||
| 258 | for black in system_package_blacklist: | ||
| 259 | if black in package_tmp: | ||
| 260 | bb.data.setVar('PARALLEL_MAKE' , '', d) | ||
| 261 | return "" | ||
| 262 | |||
| 263 | #user defined exclusion list | ||
| 264 | user_package_blacklist = bb.data.getVar('ICECC_USER_PACKAGE_BL', d) or "none" | ||
| 265 | user_package_blacklist = user_package_blacklist.split() | ||
| 266 | |||
| 267 | for black in user_package_blacklist: | ||
| 268 | if black in package_tmp: | ||
| 269 | bb.data.setVar('PARALLEL_MAKE' , '', d) | ||
| 270 | return "" | ||
| 145 | 271 | ||
| 146 | blacklist = [ "cross", "native" ] | ||
| 147 | for black in blacklist: | ||
| 148 | if bb.data.inherits_class(black, d): | ||
| 149 | compile = False | ||
| 150 | 272 | ||
| 151 | prefix = bb.data.expand('${HOST_PREFIX}', d) | 273 | prefix = bb.data.expand('${HOST_PREFIX}', d) |
| 152 | if compile and len(prefix) != 0: | 274 | |
| 153 | return create_path( [prefix+"gcc", prefix+"g++"], "cross", bb, d ) | 275 | |
| 276 | if compile and bb.data.inherits_class("cross", d): | ||
| 277 | return create_path( ["gcc", "g++"], "native", bb, d) | ||
| 278 | |||
| 279 | elif compile and bb.data.inherits_class("native", d): | ||
| 280 | return create_path( ["gcc", "g++"], "native", bb, d) | ||
| 281 | |||
| 282 | elif compile and bb.data.inherits_class("kernel", d): | ||
| 283 | #kernel_cc = bb.data.expand('${KERNEL_CC}', d) | ||
| 284 | return create_path( [get_cross_kernel_ver(bb,d), "foo"], "cross-kernel", bb, d) | ||
| 285 | |||
| 154 | elif not compile or len(prefix) == 0: | 286 | elif not compile or len(prefix) == 0: |
| 155 | return create_path( ["gcc", "g++"], "native", bb, d) | 287 | return create_path( ["gcc", "g++"], "native", bb, d) |
| 288 | |||
| 289 | else: | ||
| 290 | return create_path( [prefix+"gcc", prefix+"g++"], "cross", bb, d) | ||
| 291 | |||
| 292 | |||
| 156 | 293 | ||
| 157 | 294 | ||
| 158 | def icc_version(bb,d): | 295 | def icc_version(bb,d): |
| 159 | return create_env(bb,d) | 296 | return create_env(bb,d) |
| 160 | 297 | ||
| 298 | def check_for_kernel(bb,d): | ||
| 299 | if bb.data.inherits_class("kernel", d): | ||
| 300 | return "yes" | ||
| 161 | 301 | ||
| 162 | # | 302 | return "no" |
| 163 | # set the IceCream environment variables | 303 | |
| 304 | |||
| 305 | def get_cross_kernel_ver(bb,d): | ||
| 306 | |||
| 307 | return bb.data.expand('${KERNEL_CC}', d).strip() or "gcc" | ||
| 308 | |||
| 309 | # set the icecream environment variables | ||
| 164 | do_configure_prepend() { | 310 | do_configure_prepend() { |
| 165 | export PATH=${@icc_path(bb,d,False)}$PATH | 311 | export PATH=${@icc_path(bb,d,False)}$PATH |
| 166 | export ICECC_CC="gcc" | 312 | export ICECC_CC="gcc" |
| @@ -168,11 +314,22 @@ do_configure_prepend() { | |||
| 168 | } | 314 | } |
| 169 | 315 | ||
| 170 | do_compile_prepend() { | 316 | do_compile_prepend() { |
| 317 | |||
| 171 | export PATH=${@icc_path(bb,d,True)}$PATH | 318 | export PATH=${@icc_path(bb,d,True)}$PATH |
| 319 | |||
| 320 | #check if we are building a kernel and select gcc-cross-kernel | ||
| 321 | if [ "${@check_for_kernel(bb,d)}" = "yes" ]; then | ||
| 322 | export ICECC_CC="${@get_cross_kernel_ver(bb,d)}" | ||
| 323 | export ICECC_CXX="${HOST_PREFIX}g++" | ||
| 324 | else | ||
| 172 | export ICECC_CC="${HOST_PREFIX}gcc" | 325 | export ICECC_CC="${HOST_PREFIX}gcc" |
| 173 | export ICECC_CXX="${HOST_PREFIX}g++" | 326 | export ICECC_CXX="${HOST_PREFIX}g++" |
| 327 | fi | ||
| 174 | 328 | ||
| 175 | if [ "${@use_icc_version(bb,d)}" = "yes" ]; then | 329 | if [ "${@use_icc_version(bb,d)}" = "yes" ]; then |
| 176 | export ICECC_VERSION="${@icc_version(bb,d)}" | 330 | export ICECC_VERSION="${@icc_version(bb,d)}" |
| 331 | else | ||
| 332 | export ICECC_VERSION="NONE" | ||
| 177 | fi | 333 | fi |
| 178 | } | 334 | } |
| 335 | |||
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass index b331d25614..9208c3507a 100644 --- a/meta/classes/kernel-arch.bbclass +++ b/meta/classes/kernel-arch.bbclass | |||
| @@ -4,10 +4,15 @@ | |||
| 4 | # in the kernel source "arch" directory | 4 | # in the kernel source "arch" directory |
| 5 | # | 5 | # |
| 6 | 6 | ||
| 7 | valid_archs = "alpha cris ia64 m68knommu ppc sh \ | 7 | valid_archs = "alpha cris ia64 \ |
| 8 | sparc64 x86_64 arm h8300 m32r mips \ | 8 | x86_64,i386 \ |
| 9 | ppc64 sh64 um arm26 i386 m68k \ | 9 | m68knommu m68k ppc powerpc ppc64 \ |
| 10 | parisc s390 sparc v850" | 10 | sparc sparc64 \ |
| 11 | arm arm26 \ | ||
| 12 | m32r mips \ | ||
| 13 | sh sh64 um h8300 \ | ||
| 14 | parisc s390 v850 \ | ||
| 15 | avr32 blackfin" | ||
| 11 | 16 | ||
| 12 | def map_kernel_arch(a, d): | 17 | def map_kernel_arch(a, d): |
| 13 | import bb, re | 18 | import bb, re |
| @@ -17,10 +22,10 @@ def map_kernel_arch(a, d): | |||
| 17 | if re.match('(i.86|athlon)$', a): return 'i386' | 22 | if re.match('(i.86|athlon)$', a): return 'i386' |
| 18 | elif re.match('arm26$', a): return 'arm26' | 23 | elif re.match('arm26$', a): return 'arm26' |
| 19 | elif re.match('armeb$', a): return 'arm' | 24 | elif re.match('armeb$', a): return 'arm' |
| 20 | elif re.match('powerpc$', a): return 'ppc' | ||
| 21 | elif re.match('mipsel$', a): return 'mips' | 25 | elif re.match('mipsel$', a): return 'mips' |
| 22 | elif re.match('sh(3|4)$', a): return 'sh' | 26 | elif re.match('sh(3|4)$', a): return 'sh' |
| 23 | elif a in valid_archs: return a | 27 | elif re.match('bfin', a): return 'blackfin' |
| 28 | elif a in valid_archs: return a | ||
| 24 | else: | 29 | else: |
| 25 | bb.error("cannot map '%s' to a linux kernel architecture" % a) | 30 | bb.error("cannot map '%s' to a linux kernel architecture" % a) |
| 26 | 31 | ||
diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass index 1b87004143..e3c92b8572 100644 --- a/meta/classes/rm_work.bbclass +++ b/meta/classes/rm_work.bbclass | |||
| @@ -18,5 +18,12 @@ do_rm_work () { | |||
| 18 | done | 18 | done |
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | addtask rmall after do_rm_work | ||
| 22 | do_rmall[recrdeptask] = "do_rm_work" | ||
| 23 | do_rmall() { | ||
| 24 | : | ||
| 25 | } | ||
| 26 | |||
| 27 | |||
| 21 | addtask rm_work before do_build | 28 | addtask rm_work before do_build |
| 22 | addtask rm_work after do_populate_staging | 29 | addtask rm_work after do_populate_staging |
diff --git a/meta/classes/scons.bbclass b/meta/classes/scons.bbclass index adcb57f39e..534b3bd4c7 100644 --- a/meta/classes/scons.bbclass +++ b/meta/classes/scons.bbclass | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | DEPENDS += "python-scons-native" | 1 | DEPENDS += "python-scons-native" |
| 2 | 2 | ||
| 3 | scons_do_compile() { | 3 | scons_do_compile() { |
| 4 | ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \ | 4 | ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \ |
| 5 | oefatal "scons build execution failed." | 5 | oefatal "scons build execution failed." |
| 6 | } | 6 | } |
| 7 | 7 | ||
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index c97b98d74c..4191f4edc1 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass | |||
| @@ -22,11 +22,16 @@ def get_siteinfo_list(d): | |||
| 22 | 22 | ||
| 23 | targetinfo = {\ | 23 | targetinfo = {\ |
| 24 | "armeb-linux": "endian-big bit-32 common-glibc arm-common",\ | 24 | "armeb-linux": "endian-big bit-32 common-glibc arm-common",\ |
| 25 | "armeb-linux-gnueabi": "endian-big bit-32 common-glibc arm-common armeb-linux",\ | ||
| 25 | "armeb-linux-uclibc": "endian-big bit-32 common-uclibc arm-common",\ | 26 | "armeb-linux-uclibc": "endian-big bit-32 common-uclibc arm-common",\ |
| 27 | "armeb-linux-uclibcgnueabi": "endian-big bit-32 common-uclibc arm-common armeb-linux-uclibc",\ | ||
| 26 | "arm-linux": "endian-little bit-32 common-glibc arm-common",\ | 28 | "arm-linux": "endian-little bit-32 common-glibc arm-common",\ |
| 27 | "arm-linux-gnueabi": "endian-little bit-32 common-glibc arm-common arm-linux",\ | 29 | "arm-linux-gnueabi": "endian-little bit-32 common-glibc arm-common arm-linux",\ |
| 28 | "arm-linux-uclibc": "endian-little bit-32 common-uclibc arm-common",\ | 30 | "arm-linux-uclibc": "endian-little bit-32 common-uclibc arm-common",\ |
| 29 | "arm-linux-uclibcgnueabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\ | 31 | "arm-linux-uclibcgnueabi": "endian-little bit-32 common-uclibc arm-common arm-linux-uclibc",\ |
| 32 | "avr32-linux": "endian-big bit-32 common-glibc avr32-common",\ | ||
| 33 | "avr32-linux-uclibc": "endian-big bit-32 common-uclibc avr32-common",\ | ||
| 34 | "bfin-uclinux-uclibc": "endian-little bit-32 common-uclibc bfin-common",\ | ||
| 30 | "i386-linux": "endian-little bit-32 common-glibc ix86-common",\ | 35 | "i386-linux": "endian-little bit-32 common-glibc ix86-common",\ |
| 31 | "i486-linux": "endian-little bit-32 common-glibc ix86-common",\ | 36 | "i486-linux": "endian-little bit-32 common-glibc ix86-common",\ |
| 32 | "i586-linux": "endian-little bit-32 common-glibc ix86-common",\ | 37 | "i586-linux": "endian-little bit-32 common-glibc ix86-common",\ |
| @@ -38,8 +43,9 @@ def get_siteinfo_list(d): | |||
| 38 | "mipsel-linux": "endian-little bit-32 common-glibc",\ | 43 | "mipsel-linux": "endian-little bit-32 common-glibc",\ |
| 39 | "mipsel-linux-uclibc": "endian-little bit-32 common-uclibc",\ | 44 | "mipsel-linux-uclibc": "endian-little bit-32 common-uclibc",\ |
| 40 | "powerpc-darwin": "endian-big bit-32 common-darwin",\ | 45 | "powerpc-darwin": "endian-big bit-32 common-darwin",\ |
| 41 | "powerpc-linux": "endian-big bit-32 common-glibc",\ | 46 | "ppc-linux": "endian-big bit-32 common-glibc powerpc-common",\ |
| 42 | "powerpc-linux-uclibc": "endian-big bit-32 common-uclibc",\ | 47 | "powerpc-linux": "endian-big bit-32 common-glibc powerpc-common",\ |
| 48 | "powerpc-linux-uclibc": "endian-big bit-32 common-uclibc powerpc-common",\ | ||
| 43 | "sh3-linux": "endian-little bit-32 common-glibc sh-common",\ | 49 | "sh3-linux": "endian-little bit-32 common-glibc sh-common",\ |
| 44 | "sh4-linux": "endian-little bit-32 common-glibc sh-common",\ | 50 | "sh4-linux": "endian-little bit-32 common-glibc sh-common",\ |
| 45 | "sh4-linux-uclibc": "endian-little bit-32 common-uclibc sh-common",\ | 51 | "sh4-linux-uclibc": "endian-little bit-32 common-uclibc sh-common",\ |
| @@ -49,6 +55,7 @@ def get_siteinfo_list(d): | |||
| 49 | if target in targetinfo: | 55 | if target in targetinfo: |
| 50 | info = targetinfo[target].split() | 56 | info = targetinfo[target].split() |
| 51 | info.append(target) | 57 | info.append(target) |
| 58 | info.append("common") | ||
| 52 | return info | 59 | return info |
| 53 | else: | 60 | else: |
| 54 | bb.error("Information not available for target '%s'" % target) | 61 | bb.error("Information not available for target '%s'" % target) |
diff --git a/meta/classes/src_distribute_local.bbclass b/meta/classes/src_distribute_local.bbclass index 31cc85fae4..5f0cef5bec 100644 --- a/meta/classes/src_distribute_local.bbclass +++ b/meta/classes/src_distribute_local.bbclass | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources" | ||
| 2 | |||
| 3 | inherit src_distribute | 1 | inherit src_distribute |
| 4 | 2 | ||
| 5 | # SRC_DIST_LOCAL possible values: | 3 | # SRC_DIST_LOCAL possible values: |
| @@ -7,7 +5,7 @@ inherit src_distribute | |||
| 7 | # symlink symlinks the files from ${A} to the distributedir | 5 | # symlink symlinks the files from ${A} to the distributedir |
| 8 | # move+symlink moves the files into distributedir, and symlinks them back | 6 | # move+symlink moves the files into distributedir, and symlinks them back |
| 9 | SRC_DIST_LOCAL ?= "move+symlink" | 7 | SRC_DIST_LOCAL ?= "move+symlink" |
| 10 | 8 | SRC_DISTRIBUTEDIR ?= "${DEPLOY_DIR}/sources" | |
| 11 | SRC_DISTRIBUTECOMMAND () { | 9 | SRC_DISTRIBUTECOMMAND () { |
| 12 | s="${SRC}" | 10 | s="${SRC}" |
| 13 | if [ ! -L "$s" ] && (echo "$s"|grep "^${DL_DIR}"); then | 11 | if [ ! -L "$s" ] && (echo "$s"|grep "^${DL_DIR}"); then |
diff --git a/meta/classes/tinderclient.bbclass b/meta/classes/tinderclient.bbclass index 3f5183cc8f..d1d9f49fac 100644 --- a/meta/classes/tinderclient.bbclass +++ b/meta/classes/tinderclient.bbclass | |||
| @@ -371,6 +371,10 @@ addhandler tinderclient_eventhandler | |||
| 371 | python tinderclient_eventhandler() { | 371 | python tinderclient_eventhandler() { |
| 372 | from bb import note, error, data | 372 | from bb import note, error, data |
| 373 | from bb.event import NotHandled | 373 | from bb.event import NotHandled |
| 374 | |||
| 375 | if e.data is None: | ||
| 376 | return NotHandled | ||
| 377 | |||
| 374 | do_tinder_report = data.getVar('TINDER_REPORT', e.data, True) | 378 | do_tinder_report = data.getVar('TINDER_REPORT', e.data, True) |
| 375 | if do_tinder_report and do_tinder_report == "1": | 379 | if do_tinder_report and do_tinder_report == "1": |
| 376 | tinder_do_tinder_report(e) | 380 | tinder_do_tinder_report(e) |
diff --git a/meta/classes/xfce.bbclass b/meta/classes/xfce.bbclass index 793348597f..ecc00825bc 100644 --- a/meta/classes/xfce.bbclass +++ b/meta/classes/xfce.bbclass | |||
| @@ -6,8 +6,9 @@ | |||
| 6 | 6 | ||
| 7 | HOMEPAGE = "http://www.xfce.org" | 7 | HOMEPAGE = "http://www.xfce.org" |
| 8 | LICENSE = "LGPL-2" | 8 | LICENSE = "LGPL-2" |
| 9 | DEPENDS += "startup-notification" | ||
| 9 | 10 | ||
| 10 | SRC_URI = "http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.gz" | 11 | SRC_URI = "http://www.us.xfce.org/archive/xfce-${PV}/src/${PN}-${PV}.tar.bz2" |
| 11 | 12 | ||
| 12 | inherit autotools | 13 | inherit autotools |
| 13 | 14 | ||
