diff options
author | Richard Purdie <richard@openedhand.com> | 2007-08-08 20:41:55 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-08-08 20:41:55 +0000 |
commit | 720e0b144cabc48c65dc831b61602a10a2da5f90 (patch) | |
tree | 005b5aac27800b94d730580e49d59582938790ad /meta | |
parent | fe553f406dda1c495d285c650846c9509f0c7e19 (diff) | |
download | poky-720e0b144cabc48c65dc831b61602a10a2da5f90.tar.gz |
classes: Sync various classes with OE for various bugfixes
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2407 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
-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 | ||