diff options
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/package.bbclass | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 0436d919e7..e03d4502c4 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
| @@ -1615,7 +1615,7 @@ python package_do_shlibs() { | |||
| 1615 | shlibswork_dir = d.getVar('SHLIBSWORKDIR') | 1615 | shlibswork_dir = d.getVar('SHLIBSWORKDIR') |
| 1616 | 1616 | ||
| 1617 | # Take shared lock since we're only reading, not writing | 1617 | # Take shared lock since we're only reading, not writing |
| 1618 | lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}")) | 1618 | lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"), True) |
| 1619 | 1619 | ||
| 1620 | def linux_so(file, needed, sonames, renames, pkgver): | 1620 | def linux_so(file, needed, sonames, renames, pkgver): |
| 1621 | needs_ldconfig = False | 1621 | needs_ldconfig = False |
| @@ -1900,7 +1900,7 @@ python package_do_pkgconfig () { | |||
| 1900 | pkgconfig_needed[pkg] += exp.replace(',', ' ').split() | 1900 | pkgconfig_needed[pkg] += exp.replace(',', ' ').split() |
| 1901 | 1901 | ||
| 1902 | # Take shared lock since we're only reading, not writing | 1902 | # Take shared lock since we're only reading, not writing |
| 1903 | lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}")) | 1903 | lf = bb.utils.lockfile(d.expand("${PACKAGELOCK}"), True) |
| 1904 | 1904 | ||
| 1905 | for pkg in packages.split(): | 1905 | for pkg in packages.split(): |
| 1906 | pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist") | 1906 | pkgs_file = os.path.join(shlibswork_dir, pkg + ".pclist") |
| @@ -2233,11 +2233,9 @@ do_package[dirs] = "${SHLIBSWORKDIR} ${PKGDESTWORK} ${D}" | |||
| 2233 | do_package[vardeps] += "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}" | 2233 | do_package[vardeps] += "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}" |
| 2234 | addtask package after do_install | 2234 | addtask package after do_install |
| 2235 | 2235 | ||
| 2236 | PACKAGELOCK = "${STAGING_DIR}/package-output.lock" | ||
| 2237 | SSTATETASKS += "do_package" | 2236 | SSTATETASKS += "do_package" |
| 2238 | do_package[cleandirs] = "${PKGDEST} ${PKGDESTWORK}" | 2237 | do_package[cleandirs] = "${PKGDEST} ${PKGDESTWORK}" |
| 2239 | do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST} ${PKGDESTWORK}" | 2238 | do_package[sstate-plaindirs] = "${PKGD} ${PKGDEST} ${PKGDESTWORK}" |
| 2240 | do_package[sstate-lockfile-shared] = "${PACKAGELOCK}" | ||
| 2241 | do_package_setscene[dirs] = "${STAGING_DIR}" | 2239 | do_package_setscene[dirs] = "${STAGING_DIR}" |
| 2242 | 2240 | ||
| 2243 | python do_package_setscene () { | 2241 | python do_package_setscene () { |
| @@ -2252,9 +2250,12 @@ do_packagedata () { | |||
| 2252 | addtask packagedata before do_build after do_package | 2250 | addtask packagedata before do_build after do_package |
| 2253 | 2251 | ||
| 2254 | SSTATETASKS += "do_packagedata" | 2252 | SSTATETASKS += "do_packagedata" |
| 2253 | # PACKAGELOCK protects readers of PKGDATA_DIR against writes | ||
| 2254 | # whilst code is reading in do_package | ||
| 2255 | PACKAGELOCK = "${STAGING_DIR}/package-output.lock" | ||
| 2255 | do_packagedata[sstate-inputdirs] = "${PKGDESTWORK}" | 2256 | do_packagedata[sstate-inputdirs] = "${PKGDESTWORK}" |
| 2256 | do_packagedata[sstate-outputdirs] = "${PKGDATA_DIR}" | 2257 | do_packagedata[sstate-outputdirs] = "${PKGDATA_DIR}" |
| 2257 | do_packagedata[sstate-lockfile-shared] = "${PACKAGELOCK}" | 2258 | do_packagedata[sstate-lockfile] = "${PACKAGELOCK}" |
| 2258 | do_packagedata[stamp-extra-info] = "${MACHINE_ARCH}" | 2259 | do_packagedata[stamp-extra-info] = "${MACHINE_ARCH}" |
| 2259 | 2260 | ||
| 2260 | python do_packagedata_setscene () { | 2261 | python do_packagedata_setscene () { |
