summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/allarch.bbclass2
-rw-r--r--meta/classes/autotools.bbclass2
-rw-r--r--meta/classes/base.bbclass2
-rw-r--r--meta/classes/bootimg.bbclass2
-rw-r--r--meta/classes/chrpath.bbclass2
-rw-r--r--meta/classes/debian.bbclass6
-rw-r--r--meta/classes/gconf.bbclass2
-rw-r--r--meta/classes/gtk-icon-cache.bbclass2
-rw-r--r--meta/classes/gtk-immodules-cache.bbclass4
-rw-r--r--meta/classes/icecc.bbclass24
-rw-r--r--meta/classes/image.bbclass2
-rw-r--r--meta/classes/insane.bbclass4
-rw-r--r--meta/classes/libc-package.bbclass4
-rw-r--r--meta/classes/license.bbclass4
-rw-r--r--meta/classes/oelint.bbclass10
-rw-r--r--meta/classes/package.bbclass4
-rw-r--r--meta/classes/package_deb.bbclass4
-rw-r--r--meta/classes/package_ipk.bbclass6
-rw-r--r--meta/classes/package_rpm.bbclass4
-rw-r--r--meta/classes/package_tar.bbclass2
-rw-r--r--meta/classes/populate_sdk_ext.bbclass4
-rw-r--r--meta/classes/report-error.bbclass8
-rw-r--r--meta/classes/sanity.bbclass2
-rw-r--r--meta/classes/sstate.bbclass4
-rw-r--r--meta/classes/update-alternatives.bbclass2
-rw-r--r--meta/classes/update-rc.d.bbclass10
-rw-r--r--meta/classes/useradd.bbclass10
-rw-r--r--meta/classes/utility-tasks.bbclass2
-rw-r--r--meta/conf/bitbake.conf16
-rw-r--r--meta/lib/oe/package_manager.py2
-rw-r--r--meta/lib/oeqa/controllers/masterimage.py6
-rw-r--r--meta/lib/oeqa/runtime/skeletoninit.py4
-rw-r--r--meta/lib/oeqa/runtime/syslog.py4
-rw-r--r--meta/lib/oeqa/targetcontrol.py2
-rw-r--r--meta/recipes-core/packagegroups/packagegroup-core-sdk.bb4
-rw-r--r--meta/recipes-extended/lsof/lsof_4.88.bb4
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb4
-rw-r--r--meta/recipes-qt/qt4/qt4.inc2
-rw-r--r--meta/recipes-support/libproxy/libproxy_0.4.11.bb4
39 files changed, 93 insertions, 93 deletions
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 4bc99272c4..2fea7c04df 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -11,7 +11,7 @@ PACKAGE_ARCH = "all"
11python () { 11python () {
12 # Allow this class to be included but overridden - only set 12 # Allow this class to be included but overridden - only set
13 # the values if we're still "all" package arch. 13 # the values if we're still "all" package arch.
14 if d.getVar("PACKAGE_ARCH") == "all": 14 if d.getVar("PACKAGE_ARCH", True) == "all":
15 # No need for virtual/libc or a cross compiler 15 # No need for virtual/libc or a cross compiler
16 d.setVar("INHIBIT_DEFAULT_DEPS","1") 16 d.setVar("INHIBIT_DEFAULT_DEPS","1")
17 17
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass
index 0addcb915c..454dcb669f 100644
--- a/meta/classes/autotools.bbclass
+++ b/meta/classes/autotools.bbclass
@@ -136,7 +136,7 @@ ACLOCALDIR = "${B}/aclocal-copy"
136python autotools_copy_aclocals () { 136python autotools_copy_aclocals () {
137 s = d.getVar("S", True) 137 s = d.getVar("S", True)
138 if not os.path.exists(s + "/configure.in") and not os.path.exists(s + "/configure.ac"): 138 if not os.path.exists(s + "/configure.in") and not os.path.exists(s + "/configure.ac"):
139 if not d.getVar("AUTOTOOLS_COPYACLOCAL"): 139 if not d.getVar("AUTOTOOLS_COPYACLOCAL", False):
140 return 140 return
141 141
142 taskdepdata = d.getVar("BB_TASKDEPDATA", False) 142 taskdepdata = d.getVar("BB_TASKDEPDATA", False)
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 46762d9cc5..56fe5f2122 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -71,7 +71,7 @@ def base_dep_prepend(d):
71 # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not 71 # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
72 # we need that built is the responsibility of the patch function / class, not 72 # we need that built is the responsibility of the patch function / class, not
73 # the application. 73 # the application.
74 if not d.getVar('INHIBIT_DEFAULT_DEPS'): 74 if not d.getVar('INHIBIT_DEFAULT_DEPS', False):
75 if (d.getVar('HOST_SYS', True) != d.getVar('BUILD_SYS', True)): 75 if (d.getVar('HOST_SYS', True) != d.getVar('BUILD_SYS', True)):
76 deps += " virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc " 76 deps += " virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}compilerlibs virtual/libc "
77 return deps 77 return deps
diff --git a/meta/classes/bootimg.bbclass b/meta/classes/bootimg.bbclass
index b1c03ba068..4abe00e944 100644
--- a/meta/classes/bootimg.bbclass
+++ b/meta/classes/bootimg.bbclass
@@ -29,7 +29,7 @@ do_bootimg[depends] += "dosfstools-native:do_populate_sysroot \
29 mtools-native:do_populate_sysroot \ 29 mtools-native:do_populate_sysroot \
30 cdrtools-native:do_populate_sysroot \ 30 cdrtools-native:do_populate_sysroot \
31 virtual/kernel:do_deploy \ 31 virtual/kernel:do_deploy \
32 ${@oe.utils.ifelse(d.getVar('COMPRESSISO'),'zisofs-tools-native:do_populate_sysroot','')}" 32 ${@oe.utils.ifelse(d.getVar('COMPRESSISO', False),'zisofs-tools-native:do_populate_sysroot','')}"
33 33
34PACKAGES = " " 34PACKAGES = " "
35EXCLUDE_FROM_WORLD = "1" 35EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/classes/chrpath.bbclass b/meta/classes/chrpath.bbclass
index 7a5d9602f5..e9160af6b4 100644
--- a/meta/classes/chrpath.bbclass
+++ b/meta/classes/chrpath.bbclass
@@ -64,7 +64,7 @@ def process_dir (rootdir, directory, d):
64 64
65 rootdir = os.path.normpath(rootdir) 65 rootdir = os.path.normpath(rootdir)
66 cmd = d.expand('${CHRPATH_BIN}') 66 cmd = d.expand('${CHRPATH_BIN}')
67 tmpdir = os.path.normpath(d.getVar('TMPDIR')) 67 tmpdir = os.path.normpath(d.getVar('TMPDIR', False))
68 baseprefix = os.path.normpath(d.expand('${base_prefix}')) 68 baseprefix = os.path.normpath(d.expand('${base_prefix}'))
69 hostos = d.getVar("HOST_OS", True) 69 hostos = d.getVar("HOST_OS", True)
70 70
diff --git a/meta/classes/debian.bbclass b/meta/classes/debian.bbclass
index c859703669..ada2fb5760 100644
--- a/meta/classes/debian.bbclass
+++ b/meta/classes/debian.bbclass
@@ -53,7 +53,7 @@ python debian_package_name_hook () {
53 return (s[stat.ST_MODE] & stat.S_IEXEC) 53 return (s[stat.ST_MODE] & stat.S_IEXEC)
54 54
55 def add_rprovides(pkg, d): 55 def add_rprovides(pkg, d):
56 newpkg = d.getVar('PKG_' + pkg) 56 newpkg = d.getVar('PKG_' + pkg, False)
57 if newpkg and newpkg != pkg: 57 if newpkg and newpkg != pkg:
58 provs = (d.getVar('RPROVIDES_' + pkg, True) or "").split() 58 provs = (d.getVar('RPROVIDES_' + pkg, True) or "").split()
59 if pkg not in provs: 59 if pkg not in provs:
@@ -105,10 +105,10 @@ python debian_package_name_hook () {
105 if soname_result: 105 if soname_result:
106 (pkgname, devname) = soname_result 106 (pkgname, devname) = soname_result
107 for pkg in packages.split(): 107 for pkg in packages.split():
108 if (d.getVar('PKG_' + pkg) or d.getVar('DEBIAN_NOAUTONAME_' + pkg)): 108 if (d.getVar('PKG_' + pkg, False) or d.getVar('DEBIAN_NOAUTONAME_' + pkg, False)):
109 add_rprovides(pkg, d) 109 add_rprovides(pkg, d)
110 continue 110 continue
111 debian_pn = d.getVar('DEBIANNAME_' + pkg) 111 debian_pn = d.getVar('DEBIANNAME_' + pkg, False)
112 if debian_pn: 112 if debian_pn:
113 newpkg = debian_pn 113 newpkg = debian_pn
114 elif pkg == orig_pkg: 114 elif pkg == orig_pkg:
diff --git a/meta/classes/gconf.bbclass b/meta/classes/gconf.bbclass
index e9076b2779..d7afa7282f 100644
--- a/meta/classes/gconf.bbclass
+++ b/meta/classes/gconf.bbclass
@@ -66,5 +66,5 @@ python populate_packages_append () {
66 prerm = '#!/bin/sh\n' 66 prerm = '#!/bin/sh\n'
67 prerm += d.getVar('gconf_prerm', True) 67 prerm += d.getVar('gconf_prerm', True)
68 d.setVar('pkg_prerm_%s' % pkg, prerm) 68 d.setVar('pkg_prerm_%s' % pkg, prerm)
69 d.appendVar("RDEPENDS_%s" % pkg, ' ' + d.getVar('MLPREFIX') + 'gconf') 69 d.appendVar("RDEPENDS_%s" % pkg, ' ' + d.getVar('MLPREFIX', False) + 'gconf')
70} 70}
diff --git a/meta/classes/gtk-icon-cache.bbclass b/meta/classes/gtk-icon-cache.bbclass
index 789fa38a16..16e31b94b9 100644
--- a/meta/classes/gtk-icon-cache.bbclass
+++ b/meta/classes/gtk-icon-cache.bbclass
@@ -42,7 +42,7 @@ python populate_packages_append () {
42 continue 42 continue
43 43
44 bb.note("adding hicolor-icon-theme dependency to %s" % pkg) 44 bb.note("adding hicolor-icon-theme dependency to %s" % pkg)
45 rdepends = ' ' + d.getVar('MLPREFIX') + "hicolor-icon-theme" 45 rdepends = ' ' + d.getVar('MLPREFIX', False) + "hicolor-icon-theme"
46 d.appendVar('RDEPENDS_%s' % pkg, rdepends) 46 d.appendVar('RDEPENDS_%s' % pkg, rdepends)
47 47
48 bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg) 48 bb.note("adding gtk-icon-cache postinst and postrm scripts to %s" % pkg)
diff --git a/meta/classes/gtk-immodules-cache.bbclass b/meta/classes/gtk-immodules-cache.bbclass
index 5b45149080..0a6316da47 100644
--- a/meta/classes/gtk-immodules-cache.bbclass
+++ b/meta/classes/gtk-immodules-cache.bbclass
@@ -75,9 +75,9 @@ python populate_packages_append () {
75 75
76python __anonymous() { 76python __anonymous() {
77 if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d): 77 if not bb.data.inherits_class('native', d) and not bb.data.inherits_class('cross', d):
78 gtkimmodules_check = d.getVar('GTKIMMODULES_PACKAGES') 78 gtkimmodules_check = d.getVar('GTKIMMODULES_PACKAGES', False)
79 if not gtkimmodules_check: 79 if not gtkimmodules_check:
80 bb_filename = d.getVar('FILE') 80 bb_filename = d.getVar('FILE', False)
81 raise bb.build.FuncFailed("ERROR: %s inherits gtk-immodules-cache but doesn't set GTKIMMODULES_PACKAGES" % bb_filename) 81 raise bb.build.FuncFailed("ERROR: %s inherits gtk-immodules-cache but doesn't set GTKIMMODULES_PACKAGES" % bb_filename)
82} 82}
83 83
diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
index 529b097aac..61b8bb1a11 100644
--- a/meta/classes/icecc.bbclass
+++ b/meta/classes/icecc.bbclass
@@ -36,14 +36,14 @@ def icecc_dep_prepend(d):
36 # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not 36 # INHIBIT_DEFAULT_DEPS doesn't apply to the patch command. Whether or not
37 # we need that built is the responsibility of the patch function / class, not 37 # we need that built is the responsibility of the patch function / class, not
38 # the application. 38 # the application.
39 if not d.getVar('INHIBIT_DEFAULT_DEPS'): 39 if not d.getVar('INHIBIT_DEFAULT_DEPS', False):
40 return "icecc-create-env-native" 40 return "icecc-create-env-native"
41 return "" 41 return ""
42 42
43DEPENDS_prepend += "${@icecc_dep_prepend(d)} " 43DEPENDS_prepend += "${@icecc_dep_prepend(d)} "
44 44
45def get_cross_kernel_cc(bb,d): 45def get_cross_kernel_cc(bb,d):
46 kernel_cc = d.getVar('KERNEL_CC') 46 kernel_cc = d.getVar('KERNEL_CC', False)
47 47
48 # evaluate the expression by the shell if necessary 48 # evaluate the expression by the shell if necessary
49 if '`' in kernel_cc or '$(' in kernel_cc: 49 if '`' in kernel_cc or '$(' in kernel_cc:
@@ -56,7 +56,7 @@ def get_cross_kernel_cc(bb,d):
56 return kernel_cc 56 return kernel_cc
57 57
58def get_icecc(d): 58def get_icecc(d):
59 return d.getVar('ICECC_PATH') or bb.utils.which(os.getenv("PATH"), "icecc") 59 return d.getVar('ICECC_PATH', False) or bb.utils.which(os.getenv("PATH"), "icecc")
60 60
61def create_path(compilers, bb, d): 61def create_path(compilers, bb, d):
62 """ 62 """
@@ -91,7 +91,7 @@ def create_path(compilers, bb, d):
91 return staging 91 return staging
92 92
93def use_icc(bb,d): 93def use_icc(bb,d):
94 if d.getVar('ICECC_DISABLED') == "1": 94 if d.getVar('ICECC_DISABLED', False) == "1":
95 # don't even try it, when explicitly disabled 95 # don't even try it, when explicitly disabled
96 return "no" 96 return "no"
97 97
@@ -102,7 +102,7 @@ def use_icc(bb,d):
102 pn = d.getVar('PN', True) 102 pn = d.getVar('PN', True)
103 103
104 system_class_blacklist = [] 104 system_class_blacklist = []
105 user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL') or "none").split() 105 user_class_blacklist = (d.getVar('ICECC_USER_CLASS_BL', False) or "none").split()
106 package_class_blacklist = system_class_blacklist + user_class_blacklist 106 package_class_blacklist = system_class_blacklist + user_class_blacklist
107 107
108 for black in package_class_blacklist: 108 for black in package_class_blacklist:
@@ -119,8 +119,8 @@ def use_icc(bb,d):
119 # e.g. when there is new version 119 # e.g. when there is new version
120 # building libgcc-initial with icecc fails with CPP sanity check error if host sysroot contains cross gcc built for another target tune/variant 120 # building libgcc-initial with icecc fails with CPP sanity check error if host sysroot contains cross gcc built for another target tune/variant
121 system_package_blacklist = ["libgcc-initial"] 121 system_package_blacklist = ["libgcc-initial"]
122 user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL') or "").split() 122 user_package_blacklist = (d.getVar('ICECC_USER_PACKAGE_BL', False) or "").split()
123 user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL') or "").split() 123 user_package_whitelist = (d.getVar('ICECC_USER_PACKAGE_WL', False) or "").split()
124 package_blacklist = system_package_blacklist + user_package_blacklist 124 package_blacklist = system_package_blacklist + user_package_blacklist
125 125
126 if pn in package_blacklist: 126 if pn in package_blacklist:
@@ -131,14 +131,14 @@ def use_icc(bb,d):
131 bb.debug(1, "%s: found in whitelist, enable icecc" % pn) 131 bb.debug(1, "%s: found in whitelist, enable icecc" % pn)
132 return "yes" 132 return "yes"
133 133
134 if d.getVar('PARALLEL_MAKE') == "": 134 if d.getVar('PARALLEL_MAKE', False) == "":
135 bb.debug(1, "%s: has empty PARALLEL_MAKE, disable icecc" % pn) 135 bb.debug(1, "%s: has empty PARALLEL_MAKE, disable icecc" % pn)
136 return "no" 136 return "no"
137 137
138 return "yes" 138 return "yes"
139 139
140def icc_is_allarch(bb, d): 140def icc_is_allarch(bb, d):
141 return d.getVar("PACKAGE_ARCH") == "all" 141 return d.getVar("PACKAGE_ARCH", False) == "all"
142 142
143def icc_is_kernel(bb, d): 143def icc_is_kernel(bb, d):
144 return \ 144 return \
@@ -155,8 +155,8 @@ def icc_version(bb, d):
155 if use_icc(bb, d) == "no": 155 if use_icc(bb, d) == "no":
156 return "" 156 return ""
157 157
158 parallel = d.getVar('ICECC_PARALLEL_MAKE') or "" 158 parallel = d.getVar('ICECC_PARALLEL_MAKE', False) or ""
159 if not d.getVar('PARALLEL_MAKE') == "" and parallel: 159 if not d.getVar('PARALLEL_MAKE', False) == "" and parallel:
160 d.setVar("PARALLEL_MAKE", parallel) 160 d.setVar("PARALLEL_MAKE", parallel)
161 161
162 if icc_is_native(bb, d): 162 if icc_is_native(bb, d):
@@ -167,7 +167,7 @@ def icc_version(bb, d):
167 prefix = d.expand('${HOST_PREFIX}' ) 167 prefix = d.expand('${HOST_PREFIX}' )
168 distro = d.expand('${DISTRO}') 168 distro = d.expand('${DISTRO}')
169 target_sys = d.expand('${TARGET_SYS}') 169 target_sys = d.expand('${TARGET_SYS}')
170 float = d.getVar('TARGET_FPU') or "hard" 170 float = d.getVar('TARGET_FPU', False) or "hard"
171 archive_name = prefix + distro + "-" + target_sys + "-" + float 171 archive_name = prefix + distro + "-" + target_sys + "-" + float
172 if icc_is_kernel(bb, d): 172 if icc_is_kernel(bb, d):
173 archive_name += "-kernel" 173 archive_name += "-kernel"
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 64ae2cb92b..57aaf35552 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -100,7 +100,7 @@ def command_variables(d):
100python () { 100python () {
101 variables = command_variables(d) 101 variables = command_variables(d)
102 for var in variables: 102 for var in variables:
103 if d.getVar(var): 103 if d.getVar(var, False):
104 d.setVarFlag(var, 'func', '1') 104 d.setVarFlag(var, 'func', '1')
105} 105}
106 106
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index a11085313b..4537eec891 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -934,7 +934,7 @@ def package_qa_check_expanded_d(path,name,d,elf,messages):
934 for pak in packages: 934 for pak in packages:
935 # Go through all variables and check if expanded D is found, warn the user accordingly 935 # Go through all variables and check if expanded D is found, warn the user accordingly
936 for var in 'FILES','pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm': 936 for var in 'FILES','pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm':
937 bbvar = d.getVar(var + "_" + pak) 937 bbvar = d.getVar(var + "_" + pak, False)
938 if bbvar: 938 if bbvar:
939 # Bitbake expands ${D} within bbvar during the previous step, so we check for its expanded value 939 # Bitbake expands ${D} within bbvar during the previous step, so we check for its expanded value
940 if expanded_d in bbvar: 940 if expanded_d in bbvar:
@@ -1185,7 +1185,7 @@ python () {
1185 for dep in (d.getVar('QADEPENDS', True) or "").split(): 1185 for dep in (d.getVar('QADEPENDS', True) or "").split():
1186 d.appendVarFlag('do_package_qa', 'depends', " %s:do_populate_sysroot" % dep) 1186 d.appendVarFlag('do_package_qa', 'depends', " %s:do_populate_sysroot" % dep)
1187 for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY': 1187 for var in 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RCONFLICTS', 'RPROVIDES', 'RREPLACES', 'FILES', 'pkg_preinst', 'pkg_postinst', 'pkg_prerm', 'pkg_postrm', 'ALLOW_EMPTY':
1188 if d.getVar(var): 1188 if d.getVar(var, False):
1189 issues.append(var) 1189 issues.append(var)
1190 else: 1190 else:
1191 d.setVarFlag('do_package_qa', 'rdeptask', '') 1191 d.setVarFlag('do_package_qa', 'rdeptask', '')
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index 793936e10b..2076aa1fb1 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -204,7 +204,7 @@ python package_do_split_gconvs () {
204 204
205 do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern=bpn+'-localedata-%s', \ 205 do_split_packages(d, locales_dir, file_regex='(.*)', output_pattern=bpn+'-localedata-%s', \
206 description='locale definition for %s', hook=calc_locale_deps, extra_depends='') 206 description='locale definition for %s', hook=calc_locale_deps, extra_depends='')
207 d.setVar('PACKAGES', d.getVar('PACKAGES') + ' ' + d.getVar('MLPREFIX') + bpn + '-gconv') 207 d.setVar('PACKAGES', d.getVar('PACKAGES', False) + ' ' + d.getVar('MLPREFIX', False) + bpn + '-gconv')
208 208
209 use_bin = d.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", True) 209 use_bin = d.getVar("GLIBC_INTERNAL_USE_BINARY_LOCALE", True)
210 210
@@ -310,7 +310,7 @@ python package_do_split_gconvs () {
310 bb.note("generating locale %s (%s)" % (locale, encoding)) 310 bb.note("generating locale %s (%s)" % (locale, encoding))
311 311
312 def output_locale(name, locale, encoding): 312 def output_locale(name, locale, encoding):
313 pkgname = d.getVar('MLPREFIX') + 'locale-base-' + legitimize_package_name(name) 313 pkgname = d.getVar('MLPREFIX', False) + 'locale-base-' + legitimize_package_name(name)
314 d.setVar('ALLOW_EMPTY_%s' % pkgname, '1') 314 d.setVar('ALLOW_EMPTY_%s' % pkgname, '1')
315 d.setVar('PACKAGES', '%s %s' % (pkgname, d.getVar('PACKAGES', True))) 315 d.setVar('PACKAGES', '%s %s' % (pkgname, d.getVar('PACKAGES', True)))
316 rprovides = ' %svirtual-locale-%s' % (mlprefix, legitimize_package_name(name)) 316 rprovides = ' %svirtual-locale-%s' % (mlprefix, legitimize_package_name(name))
diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass
index 756e7f04f3..224d541f75 100644
--- a/meta/classes/license.bbclass
+++ b/meta/classes/license.bbclass
@@ -160,7 +160,7 @@ def add_package_and_files(d):
160 packages = d.getVar('PACKAGES', True) 160 packages = d.getVar('PACKAGES', True)
161 files = d.getVar('LICENSE_FILES_DIRECTORY', True) 161 files = d.getVar('LICENSE_FILES_DIRECTORY', True)
162 pn = d.getVar('PN', True) 162 pn = d.getVar('PN', True)
163 pn_lic = "%s%s" % (pn, d.getVar('LICENSE_PACKAGE_SUFFIX')) 163 pn_lic = "%s%s" % (pn, d.getVar('LICENSE_PACKAGE_SUFFIX', False))
164 if pn_lic in packages: 164 if pn_lic in packages:
165 bb.warn("%s package already existed in %s." % (pn_lic, pn)) 165 bb.warn("%s package already existed in %s." % (pn_lic, pn))
166 else: 166 else:
@@ -348,7 +348,7 @@ def expand_wildcard_licenses(d, wildcard_licenses):
348 spdxflags = fnmatch.filter(spdxmapkeys, wld_lic) 348 spdxflags = fnmatch.filter(spdxmapkeys, wld_lic)
349 licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags] 349 licenses += [d.getVarFlag('SPDXLICENSEMAP', flag) for flag in spdxflags]
350 350
351 spdx_lics = (d.getVar('SRC_DISTRIBUTE_LICENSES') or '').split() 351 spdx_lics = (d.getVar('SRC_DISTRIBUTE_LICENSES', False) or '').split()
352 for wld_lic in wildcard_licenses: 352 for wld_lic in wildcard_licenses:
353 licenses += fnmatch.filter(spdx_lics, wld_lic) 353 licenses += fnmatch.filter(spdx_lics, wld_lic)
354 354
diff --git a/meta/classes/oelint.bbclass b/meta/classes/oelint.bbclass
index 3e01503756..1b051ca22e 100644
--- a/meta/classes/oelint.bbclass
+++ b/meta/classes/oelint.bbclass
@@ -6,7 +6,7 @@ python do_lint() {
6 ############################## 6 ##############################
7 # Test that DESCRIPTION exists 7 # Test that DESCRIPTION exists
8 # 8 #
9 description = d.getVar("DESCRIPTION") 9 description = d.getVar("DESCRIPTION", False)
10 if description[1:10] == '{SUMMARY}': 10 if description[1:10] == '{SUMMARY}':
11 bb.warn("%s: DESCRIPTION is not set" % pkgname) 11 bb.warn("%s: DESCRIPTION is not set" % pkgname)
12 12
@@ -14,7 +14,7 @@ python do_lint() {
14 ############################## 14 ##############################
15 # Test that HOMEPAGE exists 15 # Test that HOMEPAGE exists
16 # 16 #
17 homepage = d.getVar("HOMEPAGE") 17 homepage = d.getVar("HOMEPAGE", False)
18 if homepage == '': 18 if homepage == '':
19 bb.warn("%s: HOMEPAGE is not set" % pkgname) 19 bb.warn("%s: HOMEPAGE is not set" % pkgname)
20 elif not homepage.startswith("http://") and not homepage.startswith("https://"): 20 elif not homepage.startswith("http://") and not homepage.startswith("https://"):
@@ -24,7 +24,7 @@ python do_lint() {
24 ############################## 24 ##############################
25 # Test for valid SECTION 25 # Test for valid SECTION
26 # 26 #
27 section = d.getVar("SECTION") 27 section = d.getVar("SECTION", False)
28 if section == '': 28 if section == '':
29 bb.warn("%s: SECTION is not set" % pkgname) 29 bb.warn("%s: SECTION is not set" % pkgname)
30 elif not section.islower(): 30 elif not section.islower():
@@ -34,7 +34,7 @@ python do_lint() {
34 ############################## 34 ##############################
35 # Check that all patches have Signed-off-by and Upstream-Status 35 # Check that all patches have Signed-off-by and Upstream-Status
36 # 36 #
37 srcuri = d.getVar("SRC_URI").split() 37 srcuri = d.getVar("SRC_URI", False).split()
38 fpaths = (d.getVar('FILESPATH', True) or '').split(':') 38 fpaths = (d.getVar('FILESPATH', True) or '').split(':')
39 39
40 def findPatch(patchname): 40 def findPatch(patchname):
@@ -80,5 +80,5 @@ python do_lint() {
80 if not s.startswith("file://"): 80 if not s.startswith("file://"):
81 checkPN(pkgname, 'SRC_URI', s) 81 checkPN(pkgname, 'SRC_URI', s)
82 82
83 checkPN(pkgname, 'S', d.getVar('S')) 83 checkPN(pkgname, 'S', d.getVar('S', False))
84} 84}
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d58f19794b..cd92beb394 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -425,7 +425,7 @@ def get_package_mapping (pkg, basepkg, d):
425def get_package_additional_metadata (pkg_type, d): 425def get_package_additional_metadata (pkg_type, d):
426 base_key = "PACKAGE_ADD_METADATA" 426 base_key = "PACKAGE_ADD_METADATA"
427 for key in ("%s_%s" % (base_key, pkg_type.upper()), base_key): 427 for key in ("%s_%s" % (base_key, pkg_type.upper()), base_key):
428 if d.getVar(key) is None: 428 if d.getVar(key, False) is None:
429 continue 429 continue
430 d.setVarFlag(key, "type", "list") 430 d.setVarFlag(key, "type", "list")
431 if d.getVarFlag(key, "separator") is None: 431 if d.getVarFlag(key, "separator") is None:
@@ -1154,7 +1154,7 @@ populate_packages[dirs] = "${D}"
1154python package_fixsymlinks () { 1154python package_fixsymlinks () {
1155 import errno 1155 import errno
1156 pkgdest = d.getVar('PKGDEST', True) 1156 pkgdest = d.getVar('PKGDEST', True)
1157 packages = d.getVar("PACKAGES").split() 1157 packages = d.getVar("PACKAGES", False).split()
1158 1158
1159 dangling_links = {} 1159 dangling_links = {}
1160 pkg_files = {} 1160 pkg_files = {}
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index d79766361f..a165a9ab9b 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -87,7 +87,7 @@ python do_package_deb () {
87 cleanupcontrol(root) 87 cleanupcontrol(root)
88 from glob import glob 88 from glob import glob
89 g = glob('*') 89 g = glob('*')
90 if not g and localdata.getVar('ALLOW_EMPTY') != "1": 90 if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
91 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True))) 91 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True)))
92 bb.utils.unlockfile(lf) 92 bb.utils.unlockfile(lf)
93 continue 93 continue
@@ -144,7 +144,7 @@ python do_package_deb () {
144 try: 144 try:
145 for (c, fs) in fields: 145 for (c, fs) in fields:
146 for f in fs: 146 for f in fs:
147 if localdata.getVar(f) is None: 147 if localdata.getVar(f, False) is None:
148 raise KeyError(f) 148 raise KeyError(f)
149 # Special behavior for description... 149 # Special behavior for description...
150 if 'DESCRIPTION' in fs: 150 if 'DESCRIPTION' in fs:
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass
index 9fb9d53e61..e7109a9514 100644
--- a/meta/classes/package_ipk.bbclass
+++ b/meta/classes/package_ipk.bbclass
@@ -64,7 +64,7 @@ python do_package_ipk () {
64 basedir = os.path.join(os.path.dirname(root)) 64 basedir = os.path.join(os.path.dirname(root))
65 arch = localdata.getVar('PACKAGE_ARCH', True) 65 arch = localdata.getVar('PACKAGE_ARCH', True)
66 66
67 if localdata.getVar('IPK_HIERARCHICAL_FEED') == "1": 67 if localdata.getVar('IPK_HIERARCHICAL_FEED', False) == "1":
68 # Spread packages across subdirectories so each isn't too crowded 68 # Spread packages across subdirectories so each isn't too crowded
69 if pkgname.startswith('lib'): 69 if pkgname.startswith('lib'):
70 pkg_prefix = 'lib' + pkgname[3] 70 pkg_prefix = 'lib' + pkgname[3]
@@ -94,7 +94,7 @@ python do_package_ipk () {
94 cleanupcontrol(root) 94 cleanupcontrol(root)
95 from glob import glob 95 from glob import glob
96 g = glob('*') 96 g = glob('*')
97 if not g and localdata.getVar('ALLOW_EMPTY') != "1": 97 if not g and localdata.getVar('ALLOW_EMPTY', False) != "1":
98 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True))) 98 bb.note("Not creating empty archive for %s-%s-%s" % (pkg, localdata.getVar('PKGV', True), localdata.getVar('PKGR', True)))
99 bb.utils.unlockfile(lf) 99 bb.utils.unlockfile(lf)
100 continue 100 continue
@@ -134,7 +134,7 @@ python do_package_ipk () {
134 try: 134 try:
135 for (c, fs) in fields: 135 for (c, fs) in fields:
136 for f in fs: 136 for f in fs:
137 if localdata.getVar(f) is None: 137 if localdata.getVar(f, False) is None:
138 raise KeyError(f) 138 raise KeyError(f)
139 # Special behavior for description... 139 # Special behavior for description...
140 if 'DESCRIPTION' in fs: 140 if 'DESCRIPTION' in fs:
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 3988b730f3..271b9ae772 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -395,7 +395,7 @@ python write_specfile () {
395 395
396 file_list = [] 396 file_list = []
397 walk_files(root, file_list, conffiles, dirfiles) 397 walk_files(root, file_list, conffiles, dirfiles)
398 if not file_list and localdata.getVar('ALLOW_EMPTY') != "1": 398 if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1":
399 bb.note("Not creating empty RPM package for %s" % splitname) 399 bb.note("Not creating empty RPM package for %s" % splitname)
400 else: 400 else:
401 bb.note("Creating RPM package for %s" % splitname) 401 bb.note("Creating RPM package for %s" % splitname)
@@ -504,7 +504,7 @@ python write_specfile () {
504 # Now process files 504 # Now process files
505 file_list = [] 505 file_list = []
506 walk_files(root, file_list, conffiles, dirfiles) 506 walk_files(root, file_list, conffiles, dirfiles)
507 if not file_list and localdata.getVar('ALLOW_EMPTY') != "1": 507 if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1":
508 bb.note("Not creating empty RPM package for %s" % splitname) 508 bb.note("Not creating empty RPM package for %s" % splitname)
509 else: 509 else:
510 spec_files_bottom.append('%%files -n %s' % splitname) 510 spec_files_bottom.append('%%files -n %s' % splitname)
diff --git a/meta/classes/package_tar.bbclass b/meta/classes/package_tar.bbclass
index fed2c28b69..f9e2292deb 100644
--- a/meta/classes/package_tar.bbclass
+++ b/meta/classes/package_tar.bbclass
@@ -33,7 +33,7 @@ python do_package_tar () {
33 localdata = bb.data.createCopy(d) 33 localdata = bb.data.createCopy(d)
34 root = "%s/%s" % (pkgdest, pkg) 34 root = "%s/%s" % (pkgdest, pkg)
35 35
36 overrides = localdata.getVar('OVERRIDES') 36 overrides = localdata.getVar('OVERRIDES', False)
37 localdata.setVar('OVERRIDES', '%s:%s' % (overrides, pkg)) 37 localdata.setVar('OVERRIDES', '%s:%s' % (overrides, pkg))
38 bb.data.update_data(localdata) 38 bb.data.update_data(localdata)
39 39
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index dc2c58e2d1..8a80a563f0 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -98,7 +98,7 @@ python copy_buildsystem () {
98 f.write('# this configuration provides, it is strongly suggested that you set\n') 98 f.write('# this configuration provides, it is strongly suggested that you set\n')
99 f.write('# up a proper instance of the full build system and use that instead.\n\n') 99 f.write('# up a proper instance of the full build system and use that instead.\n\n')
100 100
101 f.write('LCONF_VERSION = "%s"\n\n' % d.getVar('LCONF_VERSION')) 101 f.write('LCONF_VERSION = "%s"\n\n' % d.getVar('LCONF_VERSION', False))
102 f.write('BBPATH = "$' + '{TOPDIR}"\n') 102 f.write('BBPATH = "$' + '{TOPDIR}"\n')
103 f.write('SDKBASEMETAPATH = "$' + '{TOPDIR}"\n') 103 f.write('SDKBASEMETAPATH = "$' + '{TOPDIR}"\n')
104 f.write('BBLAYERS := " \\\n') 104 f.write('BBLAYERS := " \\\n')
@@ -115,7 +115,7 @@ python copy_buildsystem () {
115 f.write('# up a proper instance of the full build system and use that instead.\n\n') 115 f.write('# up a proper instance of the full build system and use that instead.\n\n')
116 116
117 f.write('INHERIT += "%s"\n\n' % 'uninative') 117 f.write('INHERIT += "%s"\n\n' % 'uninative')
118 f.write('CONF_VERSION = "%s"\n\n' % d.getVar('CONF_VERSION')) 118 f.write('CONF_VERSION = "%s"\n\n' % d.getVar('CONF_VERSION', False))
119 119
120 # This is a bit of a hack, but we really don't want these dependencies 120 # This is a bit of a hack, but we really don't want these dependencies
121 # (we're including them in the SDK as nativesdk- versions instead) 121 # (we're including them in the SDK as nativesdk- versions instead)
diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
index 9edf2ceb31..c5aaaa8a11 100644
--- a/meta/classes/report-error.bbclass
+++ b/meta/classes/report-error.bbclass
@@ -29,11 +29,11 @@ python errorreport_handler () {
29 29
30 if isinstance(e, bb.event.BuildStarted): 30 if isinstance(e, bb.event.BuildStarted):
31 data = {} 31 data = {}
32 machine = e.data.getVar("MACHINE") 32 machine = e.data.getVar("MACHINE", False)
33 data['machine'] = machine 33 data['machine'] = machine
34 data['build_sys'] = e.data.getVar("BUILD_SYS", True) 34 data['build_sys'] = e.data.getVar("BUILD_SYS", True)
35 data['nativelsb'] = e.data.getVar("NATIVELSBSTRING") 35 data['nativelsb'] = e.data.getVar("NATIVELSBSTRING", False)
36 data['distro'] = e.data.getVar("DISTRO") 36 data['distro'] = e.data.getVar("DISTRO", False)
37 data['target_sys'] = e.data.getVar("TARGET_SYS", True) 37 data['target_sys'] = e.data.getVar("TARGET_SYS", True)
38 data['failures'] = [] 38 data['failures'] = []
39 data['component'] = e.getPkgs()[0] 39 data['component'] = e.getPkgs()[0]
@@ -64,7 +64,7 @@ python errorreport_handler () {
64 jsondata = json.loads(errorreport_getdata(e)) 64 jsondata = json.loads(errorreport_getdata(e))
65 failures = jsondata['failures'] 65 failures = jsondata['failures']
66 if(len(failures) > 0): 66 if(len(failures) > 0):
67 filename = "error_report_" + e.data.getVar("BUILDNAME")+".txt" 67 filename = "error_report_" + e.data.getVar("BUILDNAME", False)+".txt"
68 datafile = errorreport_savedata(e, jsondata, filename) 68 datafile = errorreport_savedata(e, jsondata, filename)
69 bb.note("The errors for this build are stored in %s\nYou can send the errors to a reports server by running:\n send-error-report %s [-s server]" % (datafile, datafile)) 69 bb.note("The errors for this build are stored in %s\nYou can send the errors to a reports server by running:\n send-error-report %s [-s server]" % (datafile, datafile))
70 bb.note("The contents of these logs will be posted in public if you use the above command with the default server. Please ensure you remove any identifying or proprietary information when prompted before sending.") 70 bb.note("The contents of these logs will be posted in public if you use the above command with the default server. Please ensure you remove any identifying or proprietary information when prompted before sending.")
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index c66fd4a1cf..d9eff90160 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -209,7 +209,7 @@ def check_toolchain(data):
209def check_conf_exists(fn, data): 209def check_conf_exists(fn, data):
210 bbpath = [] 210 bbpath = []
211 fn = data.expand(fn) 211 fn = data.expand(fn)
212 vbbpath = data.getVar("BBPATH") 212 vbbpath = data.getVar("BBPATH", False)
213 if vbbpath: 213 if vbbpath:
214 bbpath += vbbpath.split(":") 214 bbpath += vbbpath.split(":")
215 for p in bbpath: 215 for p in bbpath:
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 89df28af5d..1e5e98a1da 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -66,7 +66,7 @@ sstate_hardcode_path[dirs] = "${SSTATE_BUILDDIR}"
66 66
67python () { 67python () {
68 if bb.data.inherits_class('native', d): 68 if bb.data.inherits_class('native', d):
69 d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH')) 69 d.setVar('SSTATE_PKGARCH', d.getVar('BUILD_ARCH', False))
70 elif bb.data.inherits_class('crosssdk', d): 70 elif bb.data.inherits_class('crosssdk', d):
71 d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}")) 71 d.setVar('SSTATE_PKGARCH', d.expand("${BUILD_ARCH}_${SDK_ARCH}_${SDK_OS}"))
72 elif bb.data.inherits_class('cross', d): 72 elif bb.data.inherits_class('cross', d):
@@ -895,7 +895,7 @@ python sstate_eventhandler2() {
895 import glob 895 import glob
896 d = e.data 896 d = e.data
897 stamps = e.stamps.values() 897 stamps = e.stamps.values()
898 removeworkdir = (d.getVar("SSTATE_PRUNE_OBSOLETEWORKDIR") == "1") 898 removeworkdir = (d.getVar("SSTATE_PRUNE_OBSOLETEWORKDIR", False) == "1")
899 seen = [] 899 seen = []
900 for a in d.getVar("SSTATE_ARCHS", True).split(): 900 for a in d.getVar("SSTATE_ARCHS", True).split():
901 toremove = [] 901 toremove = []
diff --git a/meta/classes/update-alternatives.bbclass b/meta/classes/update-alternatives.bbclass
index e6d78703a7..a3c1657fa9 100644
--- a/meta/classes/update-alternatives.bbclass
+++ b/meta/classes/update-alternatives.bbclass
@@ -227,7 +227,7 @@ python populate_packages_updatealternatives () {
227 provider = d.getVar('VIRTUAL-RUNTIME_update-alternatives', True) 227 provider = d.getVar('VIRTUAL-RUNTIME_update-alternatives', True)
228 if provider: 228 if provider:
229 #bb.note('adding runtime requirement for update-alternatives for %s' % pkg) 229 #bb.note('adding runtime requirement for update-alternatives for %s' % pkg)
230 d.appendVar('RDEPENDS_%s' % pkg, ' ' + d.getVar('MLPREFIX') + provider) 230 d.appendVar('RDEPENDS_%s' % pkg, ' ' + d.getVar('MLPREFIX', False) + provider)
231 231
232 bb.note('adding update-alternatives calls to postinst/prerm for %s' % pkg) 232 bb.note('adding update-alternatives calls to postinst/prerm for %s' % pkg)
233 bb.note('%s' % alt_setup_links) 233 bb.note('%s' % alt_setup_links)
diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
index 4d62c2f2b5..5d67a485e9 100644
--- a/meta/classes/update-rc.d.bbclass
+++ b/meta/classes/update-rc.d.bbclass
@@ -56,11 +56,11 @@ fi
56 56
57 57
58def update_rc_after_parse(d): 58def update_rc_after_parse(d):
59 if d.getVar('INITSCRIPT_PACKAGES') == None: 59 if d.getVar('INITSCRIPT_PACKAGES', False) == None:
60 if d.getVar('INITSCRIPT_NAME') == None: 60 if d.getVar('INITSCRIPT_NAME', False) == None:
61 raise bb.build.FuncFailed("%s inherits update-rc.d but doesn't set INITSCRIPT_NAME" % d.getVar('FILE')) 61 raise bb.build.FuncFailed("%s inherits update-rc.d but doesn't set INITSCRIPT_NAME" % d.getVar('FILE', False))
62 if d.getVar('INITSCRIPT_PARAMS') == None: 62 if d.getVar('INITSCRIPT_PARAMS', False) == None:
63 raise bb.build.FuncFailed("%s inherits update-rc.d but doesn't set INITSCRIPT_PARAMS" % d.getVar('FILE')) 63 raise bb.build.FuncFailed("%s inherits update-rc.d but doesn't set INITSCRIPT_PARAMS" % d.getVar('FILE', False))
64 64
65python __anonymous() { 65python __anonymous() {
66 update_rc_after_parse(d) 66 update_rc_after_parse(d)
diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass
index eb82b00473..aae038f6ba 100644
--- a/meta/classes/useradd.bbclass
+++ b/meta/classes/useradd.bbclass
@@ -150,11 +150,11 @@ def update_useradd_after_parse(d):
150 useradd_packages = d.getVar('USERADD_PACKAGES', True) 150 useradd_packages = d.getVar('USERADD_PACKAGES', True)
151 151
152 if not useradd_packages: 152 if not useradd_packages:
153 raise bb.build.FuncFailed("%s inherits useradd but doesn't set USERADD_PACKAGES" % d.getVar('FILE')) 153 raise bb.build.FuncFailed("%s inherits useradd but doesn't set USERADD_PACKAGES" % d.getVar('FILE', False))
154 154
155 for pkg in useradd_packages.split(): 155 for pkg in useradd_packages.split():
156 if not d.getVar('USERADD_PARAM_%s' % pkg, True) and not d.getVar('GROUPADD_PARAM_%s' % pkg, True) and not d.getVar('GROUPMEMS_PARAM_%s' % pkg, True): 156 if not d.getVar('USERADD_PARAM_%s' % pkg, True) and not d.getVar('GROUPADD_PARAM_%s' % pkg, True) and not d.getVar('GROUPMEMS_PARAM_%s' % pkg, True):
157 bb.fatal("%s inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package %s" % (d.getVar('FILE'), pkg)) 157 bb.fatal("%s inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package %s" % (d.getVar('FILE', False), pkg))
158 158
159python __anonymous() { 159python __anonymous() {
160 if not bb.data.inherits_class('nativesdk', d) \ 160 if not bb.data.inherits_class('nativesdk', d) \
@@ -202,10 +202,10 @@ fakeroot python populate_packages_prepend () {
202 202
203 # RDEPENDS setup 203 # RDEPENDS setup
204 rdepends = d.getVar("RDEPENDS_%s" % pkg, True) or "" 204 rdepends = d.getVar("RDEPENDS_%s" % pkg, True) or ""
205 rdepends += ' ' + d.getVar('MLPREFIX') + 'base-passwd' 205 rdepends += ' ' + d.getVar('MLPREFIX', False) + 'base-passwd'
206 rdepends += ' ' + d.getVar('MLPREFIX') + 'shadow' 206 rdepends += ' ' + d.getVar('MLPREFIX', False) + 'shadow'
207 # base-files is where the default /etc/skel is packaged 207 # base-files is where the default /etc/skel is packaged
208 rdepends += ' ' + d.getVar('MLPREFIX') + 'base-files' 208 rdepends += ' ' + d.getVar('MLPREFIX', False) + 'base-files'
209 d.setVar("RDEPENDS_%s" % pkg, rdepends) 209 d.setVar("RDEPENDS_%s" % pkg, rdepends)
210 210
211 # Add the user/group preinstall scripts and RDEPENDS requirements 211 # Add the user/group preinstall scripts and RDEPENDS requirements
diff --git a/meta/classes/utility-tasks.bbclass b/meta/classes/utility-tasks.bbclass
index 1792f18e8c..e817b899a6 100644
--- a/meta/classes/utility-tasks.bbclass
+++ b/meta/classes/utility-tasks.bbclass
@@ -28,7 +28,7 @@ python do_clean() {
28 bb.note("Removing " + dir) 28 bb.note("Removing " + dir)
29 oe.path.remove(dir) 29 oe.path.remove(dir)
30 30
31 dir = "%s.*" % bb.data.expand(d.getVar('STAMP'), d) 31 dir = "%s.*" % bb.data.expand(d.getVar('STAMP', False), d)
32 bb.note("Removing " + dir) 32 bb.note("Removing " + dir)
33 oe.path.remove(dir) 33 oe.path.remove(dir)
34 34
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 2b86442b1d..d42cd55220 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -181,20 +181,20 @@ ASSUME_PROVIDED = "\
181# Package default variables. 181# Package default variables.
182################################################################## 182##################################################################
183 183
184PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}" 184PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}"
185PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[1] or '1.0'}" 185PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0'}"
186PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[2] or 'r0'}" 186PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[2] or 'r0'}"
187PF = "${PN}-${EXTENDPE}${PV}-${PR}" 187PF = "${PN}-${EXTENDPE}${PV}-${PR}"
188EXTENDPE = "${@['','${PE\x7d_'][int(d.getVar('PE',1) or 0) > 0]}" 188EXTENDPE = "${@['','${PE\x7d_'][int(d.getVar('PE', True) or 0) > 0]}"
189P = "${PN}-${PV}" 189P = "${PN}-${PV}"
190 190
191EXTENDPRAUTO = "${@['.${PRAUTO\x7d',''][d.getVar('PRAUTO',1) is None]}" 191EXTENDPRAUTO = "${@['.${PRAUTO\x7d',''][d.getVar('PRAUTO', True) is None]}"
192PRAUTOINX = "${PF}" 192PRAUTOINX = "${PF}"
193 193
194PKGV ?= "${PV}" 194PKGV ?= "${PV}"
195PKGR ?= "${PR}${EXTENDPRAUTO}" 195PKGR ?= "${PR}${EXTENDPRAUTO}"
196PKGE ?= "${@['','${PE\x7d'][int(d.getVar('PE',1) or 0) > 0]}" 196PKGE ?= "${@['','${PE\x7d'][int(d.getVar('PE', True) or 0) > 0]}"
197EXTENDPKGEVER = "${@['','${PKGE\x7d:'][d.getVar('PKGE',1).strip() != '']}" 197EXTENDPKGEVER = "${@['','${PKGE\x7d:'][d.getVar('PKGE', True).strip() != '']}"
198EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}" 198EXTENDPKGV ?= "${EXTENDPKGEVER}${PKGV}-${PKGR}"
199 199
200# Base package name 200# Base package name
@@ -311,7 +311,7 @@ FILES_${PN}-locale = "${datadir}/locale"
311 311
312# File manifest 312# File manifest
313 313
314FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE'))}" 314FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE', False))}"
315# FILESPATH is set in base.bbclass 315# FILESPATH is set in base.bbclass
316#FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}" 316#FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/${BP}:${FILE_DIRNAME}/${BPN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
317# This default was only used for checking 317# This default was only used for checking
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index fffe11d150..98abcdb56c 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -1167,7 +1167,7 @@ class RpmPM(PackageManager):
1167 return 1167 return
1168 1168
1169 def save_rpmpostinst(self, pkg): 1169 def save_rpmpostinst(self, pkg):
1170 mlibs = (self.d.getVar('MULTILIB_GLOBAL_VARIANTS') or "").split() 1170 mlibs = (self.d.getVar('MULTILIB_GLOBAL_VARIANTS', False) or "").split()
1171 1171
1172 new_pkg = pkg 1172 new_pkg = pkg
1173 # Remove any multilib prefix from the package name 1173 # Remove any multilib prefix from the package name
diff --git a/meta/lib/oeqa/controllers/masterimage.py b/meta/lib/oeqa/controllers/masterimage.py
index 311f0cf68c..522f9ebd76 100644
--- a/meta/lib/oeqa/controllers/masterimage.py
+++ b/meta/lib/oeqa/controllers/masterimage.py
@@ -52,7 +52,7 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget):
52 # test rootfs + kernel 52 # test rootfs + kernel
53 self.image_fstype = self.get_image_fstype(d) 53 self.image_fstype = self.get_image_fstype(d)
54 self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.' + self.image_fstype) 54 self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.' + self.image_fstype)
55 self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("KERNEL_IMAGETYPE") + '-' + d.getVar('MACHINE') + '.bin') 55 self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + '.bin')
56 if not os.path.isfile(self.rootfs): 56 if not os.path.isfile(self.rootfs):
57 # we could've checked that IMAGE_FSTYPES contains tar.gz but the config for running testimage might not be 57 # we could've checked that IMAGE_FSTYPES contains tar.gz but the config for running testimage might not be
58 # the same as the config with which the image was build, ie 58 # the same as the config with which the image was build, ie
@@ -73,10 +73,10 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget):
73 # e.g: TEST_POWERCONTROL_CMD = "/home/user/myscripts/powercontrol.py ${MACHINE} what-ever-other-args-the-script-wants" 73 # e.g: TEST_POWERCONTROL_CMD = "/home/user/myscripts/powercontrol.py ${MACHINE} what-ever-other-args-the-script-wants"
74 # the command should take as the last argument "off" and "on" and "cycle" (off, on) 74 # the command should take as the last argument "off" and "on" and "cycle" (off, on)
75 self.powercontrol_cmd = d.getVar("TEST_POWERCONTROL_CMD", True) or None 75 self.powercontrol_cmd = d.getVar("TEST_POWERCONTROL_CMD", True) or None
76 self.powercontrol_args = d.getVar("TEST_POWERCONTROL_EXTRA_ARGS") or "" 76 self.powercontrol_args = d.getVar("TEST_POWERCONTROL_EXTRA_ARGS", False) or ""
77 77
78 self.serialcontrol_cmd = d.getVar("TEST_SERIALCONTROL_CMD", True) or None 78 self.serialcontrol_cmd = d.getVar("TEST_SERIALCONTROL_CMD", True) or None
79 self.serialcontrol_args = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or "" 79 self.serialcontrol_args = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS", False) or ""
80 80
81 self.origenv = os.environ 81 self.origenv = os.environ
82 if self.powercontrol_cmd or self.serialcontrol_cmd: 82 if self.powercontrol_cmd or self.serialcontrol_cmd:
diff --git a/meta/lib/oeqa/runtime/skeletoninit.py b/meta/lib/oeqa/runtime/skeletoninit.py
index 7c7f402e5d..cb0cb9b4cf 100644
--- a/meta/lib/oeqa/runtime/skeletoninit.py
+++ b/meta/lib/oeqa/runtime/skeletoninit.py
@@ -13,7 +13,7 @@ def setUpModule():
13class SkeletonBasicTest(oeRuntimeTest): 13class SkeletonBasicTest(oeRuntimeTest):
14 14
15 @skipUnlessPassed('test_ssh') 15 @skipUnlessPassed('test_ssh')
16 @unittest.skipIf("systemd" == oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager"), "Not appropiate for systemd image") 16 @unittest.skipIf("systemd" == oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager", False), "Not appropiate for systemd image")
17 def test_skeleton_availability(self): 17 def test_skeleton_availability(self):
18 (status, output) = self.target.run('ls /etc/init.d/skeleton') 18 (status, output) = self.target.run('ls /etc/init.d/skeleton')
19 self.assertEqual(status, 0, msg = "skeleton init script not found. Output:\n%s " % output) 19 self.assertEqual(status, 0, msg = "skeleton init script not found. Output:\n%s " % output)
@@ -22,7 +22,7 @@ class SkeletonBasicTest(oeRuntimeTest):
22 22
23 @testcase(284) 23 @testcase(284)
24 @skipUnlessPassed('test_skeleton_availability') 24 @skipUnlessPassed('test_skeleton_availability')
25 @unittest.skipIf("systemd" == oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager"), "Not appropiate for systemd image") 25 @unittest.skipIf("systemd" == oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager", False), "Not appropiate for systemd image")
26 def test_skeleton_script(self): 26 def test_skeleton_script(self):
27 output1 = self.target.run("/etc/init.d/skeleton start")[1] 27 output1 = self.target.run("/etc/init.d/skeleton start")[1]
28 (status, output2) = self.target.run(oeRuntimeTest.pscmd + ' | grep [s]keleton-test') 28 (status, output2) = self.target.run(oeRuntimeTest.pscmd + ' | grep [s]keleton-test')
diff --git a/meta/lib/oeqa/runtime/syslog.py b/meta/lib/oeqa/runtime/syslog.py
index 7fa018e97f..5d0f548c99 100644
--- a/meta/lib/oeqa/runtime/syslog.py
+++ b/meta/lib/oeqa/runtime/syslog.py
@@ -29,7 +29,7 @@ class SyslogTestConfig(oeRuntimeTest):
29 29
30 @skipUnlessPassed("test_syslog_running") 30 @skipUnlessPassed("test_syslog_running")
31 def test_syslog_restart(self): 31 def test_syslog_restart(self):
32 if "systemd" != oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager"): 32 if "systemd" != oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager", False):
33 (status,output) = self.target.run('/etc/init.d/syslog restart') 33 (status,output) = self.target.run('/etc/init.d/syslog restart')
34 else: 34 else:
35 (status,output) = self.target.run('systemctl restart syslog.service') 35 (status,output) = self.target.run('systemctl restart syslog.service')
@@ -37,7 +37,7 @@ class SyslogTestConfig(oeRuntimeTest):
37 @testcase(202) 37 @testcase(202)
38 @skipUnlessPassed("test_syslog_restart") 38 @skipUnlessPassed("test_syslog_restart")
39 @skipUnlessPassed("test_syslog_logger") 39 @skipUnlessPassed("test_syslog_logger")
40 @unittest.skipIf("systemd" == oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager"), "Not appropiate for systemd image") 40 @unittest.skipIf("systemd" == oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager", False), "Not appropiate for systemd image")
41 def test_syslog_startup_config(self): 41 def test_syslog_startup_config(self):
42 self.target.run('echo "LOGFILE=/var/log/test" >> /etc/syslog-startup.conf') 42 self.target.run('echo "LOGFILE=/var/log/test" >> /etc/syslog-startup.conf')
43 (status,output) = self.target.run('/etc/init.d/syslog restart') 43 (status,output) = self.target.run('/etc/init.d/syslog restart')
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 9a681a3674..60b09b2cb2 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -121,7 +121,7 @@ class QemuTarget(BaseTarget):
121 self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime) 121 self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime)
122 self.origrootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.' + self.image_fstype) 122 self.origrootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.' + self.image_fstype)
123 self.rootfs = os.path.join(self.testdir, d.getVar("IMAGE_LINK_NAME", True) + '-testimage.' + self.image_fstype) 123 self.rootfs = os.path.join(self.testdir, d.getVar("IMAGE_LINK_NAME", True) + '-testimage.' + self.image_fstype)
124 self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("KERNEL_IMAGETYPE") + '-' + d.getVar('MACHINE') + '.bin') 124 self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + '.bin')
125 125
126 if d.getVar("DISTRO", True) == "poky-tiny": 126 if d.getVar("DISTRO", True) == "poky-tiny":
127 self.runner = QemuTinyRunner(machine=d.getVar("MACHINE", True), 127 self.runner = QemuTinyRunner(machine=d.getVar("MACHINE", True),
diff --git a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
index 9b26387e44..5b11861d91 100644
--- a/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
+++ b/meta/recipes-core/packagegroups/packagegroup-core-sdk.bb
@@ -71,9 +71,9 @@ RRECOMMENDS_packagegroup-core-sdk = "\
71# if packaged('%s-dev' % name, d): 71# if packaged('%s-dev' % name, d):
72# rreclist.append('%s-dev' % name) 72# rreclist.append('%s-dev' % name)
73# 73#
74# oldrrec = d.getVar('RRECOMMENDS_%s' % newpkg) or '' 74# oldrrec = d.getVar('RRECOMMENDS_%s' % newpkg, False) or ''
75# d.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist)) 75# d.setVar('RRECOMMENDS_%s' % newpkg, oldrrec + ' ' + ' '.join(rreclist))
76# # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, d.getVar('RRECOMMENDS_%s' % newpkg))) 76# # bb.note('RRECOMMENDS_%s = "%s"' % (newpkg, d.getVar('RRECOMMENDS_%s' % newpkg, False)))
77# 77#
78# # bb.note('pkgs is %s' % pkgs) 78# # bb.note('pkgs is %s' % pkgs)
79# d.setVar('PACKAGES', ' '.join(pkgs)) 79# d.setVar('PACKAGES', ' '.join(pkgs))
diff --git a/meta/recipes-extended/lsof/lsof_4.88.bb b/meta/recipes-extended/lsof/lsof_4.88.bb
index bc8774f9da..c0f34b6fed 100644
--- a/meta/recipes-extended/lsof/lsof_4.88.bb
+++ b/meta/recipes-extended/lsof/lsof_4.88.bb
@@ -17,12 +17,12 @@ LIC_FILES_CHKSUM = "file://${S}/00README;beginline=645;endline=679;md5=964df275d
17python do_unpack () { 17python do_unpack () {
18 # temporarily change S for unpack 18 # temporarily change S for unpack
19 # of lsof_${PV} 19 # of lsof_${PV}
20 s = d.getVar('S') 20 s = d.getVar('S', False)
21 d.setVar('S', '${WORKDIR}/lsof_${PV}') 21 d.setVar('S', '${WORKDIR}/lsof_${PV}')
22 bb.build.exec_func('base_do_unpack', d) 22 bb.build.exec_func('base_do_unpack', d)
23 # temporarily change SRC_URI for unpack 23 # temporarily change SRC_URI for unpack
24 # of lsof_${PV}_src 24 # of lsof_${PV}_src
25 src_uri = d.getVar('SRC_URI') 25 src_uri = d.getVar('SRC_URI', False)
26 d.setVar('SRC_URI', '${LOCALSRC}') 26 d.setVar('SRC_URI', '${LOCALSRC}')
27 d.setVar('S', s) 27 d.setVar('S', s)
28 bb.build.exec_func('base_do_unpack', d) 28 bb.build.exec_func('base_do_unpack', d)
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
index 31b71e2bc3..3cb23051f8 100644
--- a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
+++ b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb
@@ -204,8 +204,8 @@ RDEPENDS_packagegroup-core-lsb-python = "\
204" 204"
205 205
206def get_libqt3(d): 206def get_libqt3(d):
207 if 'linuxstdbase' in d.getVar('DISTROOVERRIDES') or "": 207 if 'linuxstdbase' in d.getVar('DISTROOVERRIDES', False) or "":
208 if 'qt3' in d.getVar('BBFILE_COLLECTIONS') or "": 208 if 'qt3' in d.getVar('BBFILE_COLLECTIONS', False) or "":
209 return 'libqt-mt3' 209 return 'libqt-mt3'
210 210
211 bb.warn('The meta-qt3 layer should be added, this layer provides Qt 3.x' \ 211 bb.warn('The meta-qt3 layer should be added, this layer provides Qt 3.x' \
diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc
index 2175fc0de7..f1c792b572 100644
--- a/meta/recipes-qt/qt4/qt4.inc
+++ b/meta/recipes-qt/qt4/qt4.inc
@@ -303,7 +303,7 @@ python populate_packages_prepend() {
303 do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook) 303 do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
304 # Create a -dbg package as well 304 # Create a -dbg package as well
305 plugin_dir_dbg = d.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path) 305 plugin_dir_dbg = d.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path)
306 packages = d.getVar('PACKAGES') 306 packages = d.getVar('PACKAGES', False)
307 for (file,package) in dev_packages: 307 for (file,package) in dev_packages:
308 packages = "%s %s-dbg" % (packages, package) 308 packages = "%s %s-dbg" % (packages, package)
309 file_name = os.path.join(plugin_dir_dbg, os.path.basename(file)) 309 file_name = os.path.join(plugin_dir_dbg, os.path.basename(file))
diff --git a/meta/recipes-support/libproxy/libproxy_0.4.11.bb b/meta/recipes-support/libproxy/libproxy_0.4.11.bb
index e709b52fa5..9d388d6b1f 100644
--- a/meta/recipes-support/libproxy/libproxy_0.4.11.bb
+++ b/meta/recipes-support/libproxy/libproxy_0.4.11.bb
@@ -31,6 +31,6 @@ do_configure_prepend() {
31 31
32python() { 32python() {
33 if incompatible_license_contains("GPLv3", "x", "", d) == "x" or bb.utils.contains("DISTRO_FEATURES", "x11", "x", "", d) == "": 33 if incompatible_license_contains("GPLv3", "x", "", d) == "x" or bb.utils.contains("DISTRO_FEATURES", "x11", "x", "", d) == "":
34 d.setVar("EXTRA_OECMAKE", d.getVar("EXTRA_OECMAKE").replace("-DWITH_GNOME=yes", "-DWITH_GNOME=no")) 34 d.setVar("EXTRA_OECMAKE", d.getVar("EXTRA_OECMAKE", False).replace("-DWITH_GNOME=yes", "-DWITH_GNOME=no"))
35 d.setVar("DEPENDS", " ".join(i for i in d.getVar("DEPENDS").split() if i != "gconf")) 35 d.setVar("DEPENDS", " ".join(i for i in d.getVar("DEPENDS", False).split() if i != "gconf"))
36} 36}