diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-11-23 00:55:50 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-01-09 04:36:32 +0300 |
commit | a5c52ff0bb57fccc2dcd3bd10647d2fa77ddf8c3 (patch) | |
tree | e085aadbd071233b82de4a8c76d269f9d746daaa /poky/meta/recipes-devtools/python | |
parent | 1a4b7ee28bf7413af6513fb45ad0d0736048f866 (diff) | |
download | openbmc-a5c52ff0bb57fccc2dcd3bd10647d2fa77ddf8c3.tar.xz |
poky: thud refresh 87e3a9739d..1cab405d88
Update poky to thud HEAD.
Adrian Bunk (1):
archiver.bbclass: Fix COPYLEFT_LICENSE_{IN, EX}CLUDE
Adrian Freihofer (2):
systemd: fix PN-container package splitting
devtool: fix target-deploy --strip
Alejandro Enedino Hernandez Samaniego (1):
python: Adds instructions to the manifest file
Alexander Kanavin (3):
meson: do not manipulate the environment when looking for python via pkg-config
openssl: update to 1.1.1a
libc-package: fix postinst error when ENABLE_BINARY_LOCALE_GENERATION = "0"
Alexey Brodkin (1):
gdb: Remove long ago upstreamed patch
André Draszik (1):
linux-firmware: better packaging for TI wl12xx & wl18xx firmwares
Anuj Mittal (13):
maintainers.inc: update Intel owners
gst-plugins-bad: add PACKAGECONFIG for msdk
gstreamer1.0: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-plugins-base: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-plugins-good: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-plugins-bad: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-plugins-ugly: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-libav: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-vaapi: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-rtsp-server: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-omx: upgrade 1.14.3 -> 1.14.4
gstreamer1.0-python: upgrade 1.14.3 -> 1.14.4
gst-validate: upgrade 1.14.2 -> 1.14.4
Armin Kuster (1):
gnutls: update to 3.6.4
Bruce Ashfield (13):
linux-yocto: remove obselete options from lxc config
linux-yocto/4.14: configuration cleanups
linux-yocto/4.18: -rt sync and config cleanups
linux-yocto/tiny: switch default branch to standard/tiny/base
linux-yocto/tiny: restore qemuarm support
linux-yocto/4.18: bug fixes and configuration tweaks
linux-yocto/4.18: update to v4.18.17
linux-yocto/4.14: update to v4.14.79
linux-yocto/4.18: integrate CVE fixes
linux-yocto/4.18: update to v4.18.20
linux-yocto/4.18: update to v4.18.21
linux-yocto: configuration updates (virtio and tpm)
linux-yocto: correct qemumips64el definition
Carlos Rafael Giani (10):
gstreamer1.0: upgrade to version 1.14.3
gstreamer1.0-plugin-base: upgrade to version 1.14.3
gstreamer1.0-plugin-good: upgrade to version 1.14.3
gstreamer1.0-plugin-bad: upgrade to version 1.14.3
gstreamer1.0-plugin-ugly: upgrade to version 1.14.3
gstreamer1.0-libav: upgrade to version 1.14.3
gstreamer1.0-rtsp-server: upgrade to version 1.14.3
gstreamer1.0-vaapi: upgrade to version 1.14.3
gstreamer1.0-omx: upgrade to version 1.14.3
gstreamer1.0-python: upgrade to version 1.14.3
Changhyeok Bae (2):
iproute2: 4.18.0 -> 4.19.0
ethtool: 4.17 -> 4.19
Christophe PRIOUZEAU (1):
openssl: correct bad path on package preprocess
Douglas Royds (4):
boost-context: Reproducibility: Set .file section for all *_elf_gas.S files
reproducible: Refactor: Break out fixed_source_date_epoch() function
reproducible: Don't look for youngest file when no source tarball
ptest: Reproducibility: Take control of umask
Eric Chanudet (1):
licence: Add license file CC-BY-SA-4.0
Hongxu Jia (6):
elfutils: 0.174 -> 0.175
gnupg: upgrade 2.2.9 -> 2.2.10
gnupg: upgrade 2.2.10 -> 2.2.11
libgcrypt: upgrade 1.8.3 -> 1.8.4
ghostscript: 9.25 -> 9.26
go 1.9/1.11: fix textrel qa warning for non mips arch
Joshua Watt (3):
meta/icecc.bbclass: Move system blacklist to variables
meta/icecc.bbclass: Update system blacklists
classes/icecc.bbclass: Fix ccache disable
Kai Kang (1):
multilib_script: fix packages split
Khem Raj (3):
valgrind: Skip vgpreload_memcheck shared object from stripping
populate_sdk_ext.bbclass: Include site.conf in parsing for contents for local.conf
local.conf.sample: Update the sample config as per new migration manual
Ming Liu (1):
image.bbclass: fix a wrong position blank
Mingli Yu (2):
mdadm: improve the run-ptest
nspr: improve reproducibility
Niko Mauno (1):
opkg-utils: Fix update-alternatives link relocation
Otavio Salvador (1):
linux-firmware: Bump revision to 1baa348
Paul Eggleton (1):
socat: fix LICENSE
Peter Kjellerstedt (3):
meson: Correct use of the _append operator
bitbake: bitbake-diffsigs: Merge with bitbake-dumpsig
bitbake: bitbake-diffsigs: Support recursive deps with signature files
Richard Purdie (9):
meson: Disable rpath stripping at install time
scripts/runqemu: Fix logic error causing failures with MACHINE from the environment
meta-selftest/error: Cleanup large trailing whitespace
bitbake: server/process: Make lockfile handling clearer
bitbake: server/process: Show the last 60 log lines, not the last 10
bitbake: server/process: Show last 60 lines of the log if the server didn't start
poky.conf: Update the distros we test against on the autobuilder
poky: Update version to 2.6.1
build-appliance-image: Update to thud head revision
Robert Yang (5):
classes: Remove tab indentations in python code
recipes: Remove tab indentations in python code
bugzilla.bbclass: Remove it since obsoleted
sstate.bbclass: Only remove sstate file when task is existed
bitbake: server/process: print a message when no logfile
Ross Burton (12):
cpio: fix crash when appending to archives
image_types: use cpio-native to build cpio images
libtasn1: no need to inherit binconfig
binconfig: only try to mangles files
piglit: add missing waffle-bin dependency
ruby: upgrade 2.5.1 -> 2.5.3
insane: Clarify GNU_HASH warning
patchreview: Various fixes/improvements
python3: don't cripple target distutils
python3: drop redundant patch
bitbake: layerindex: don't use shell=True when cloning
bitbake: fetch: don't use shell=True when listing ar files
Zheng Ruoqin (2):
nss: Fix SHA_HTONL bug for arm 32be.
createrepo-c: Fix setup of logging (log domains)
Change-Id: I025dd27f44e57af38abff110ebc331e371bc461b
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/recipes-devtools/python')
7 files changed, 118 insertions, 48 deletions
diff --git a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb b/poky/meta/recipes-devtools/python/python-native_2.7.15.bb index 7c491fa3e0..de35104c60 100644 --- a/poky/meta/recipes-devtools/python/python-native_2.7.15.bb +++ b/poky/meta/recipes-devtools/python/python-native_2.7.15.bb @@ -69,7 +69,11 @@ python(){ import json pythondir = d.getVar('THISDIR',True) with open(pythondir+'/python/python2-manifest.json') as manifest_file: - python_manifest=json.load(manifest_file) + manifest_str = manifest_file.read() + json_start = manifest_str.find('# EOC') + 6 + manifest_file.seek(json_start) + manifest_str = manifest_file.read() + python_manifest = json.loads(manifest_str) rprovides = d.getVar('RPROVIDES').split() diff --git a/poky/meta/recipes-devtools/python/python/create_manifest2.py b/poky/meta/recipes-devtools/python/python/create_manifest2.py index 87999991d7..b6748653b6 100644 --- a/poky/meta/recipes-devtools/python/python/create_manifest2.py +++ b/poky/meta/recipes-devtools/python/python/create_manifest2.py @@ -22,7 +22,7 @@ # # # This way we will create a new manifest from the data structure that was built during -# this process, ont this new manifest each package will contain specifically only +# this process, on this new manifest each package will contain specifically only # what it needs to run. # # There are some caveats which we try to deal with, such as repeated files on different @@ -30,7 +30,7 @@ # Its also important to note that this method only works for python files, and shared # libraries. Static libraries, header files and binaries need to be dealt with manually. # -# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29@gmail.com> +# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29 at gmail dot com> import sys @@ -62,10 +62,21 @@ def isFolder(value): else: return False +def prepend_comments(comments, json_manifest): + with open(json_manifest, 'r+') as manifest: + json_contents = manifest.read() + manifest.seek(0, 0) + manifest.write(comments + json_contents) + # Read existing JSON manifest with open('python2-manifest.json') as manifest: - old_manifest = json.load(manifest, object_pairs_hook=collections.OrderedDict) - + # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker + manifest_str = manifest.read() + json_start = manifest_str.find('# EOC') + 6 # EOC + \n + manifest.seek(0) + comments = manifest.read(json_start) + manifest_str = manifest.read() + old_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict) # First pass to get core-package functionality, because we base everything on the fact that core is actually working # Not exactly the same so it should not be a function @@ -277,3 +288,5 @@ for key in new_manifest: # Create the manifest from the data structure that was built with open('python2-manifest.json.new','w') as outfile: json.dump(new_manifest,outfile, indent=4) + +prepend_comments(comments,'python2-manifest.json.new') diff --git a/poky/meta/recipes-devtools/python/python/python2-manifest.json b/poky/meta/recipes-devtools/python/python/python2-manifest.json index 260fa6f80d..c092e69d38 100644 --- a/poky/meta/recipes-devtools/python/python/python2-manifest.json +++ b/poky/meta/recipes-devtools/python/python/python2-manifest.json @@ -1,3 +1,93 @@ +# DO NOT (entirely) modify this file manually, please read. +# +# IMPORTANT NOTE: +# Please keep in mind that the create_manifest task relies on the fact the the +# target and native Python packages are the same, and it also needs to be executed +# with a fully working native package (with all the PACKAGECONFIGs enabled and all +# and all the modules should be working, check log.do_compile), otherwise the script +# will fail to find dependencies correctly, this note is valid either if you are +# upgrading to a new Python version or adding a new package. +# +# +# If you are adding a new package please follow the next steps: +# How to add a new package: +# - If a user wants to add a new package all that has to be done is: +# Modify the python2-manifest.json file, and add the required file(s) to the FILES list, +# fill up the SUMMARY section as well, the script should handle all the rest. +# +# Real example: +# We want to add a web browser package, including the file webbrowser.py +# which at the moment is on python-misc. +# "webbrowser": { +# "files": ["${libdir}/python2.7/lib-dynload/webbrowser.py"], +# "rdepends": [], +# "summary": "Python Web Browser support"} +# +# * Note that the rdepends field was left empty +# +# We run $ bitbake python -c create_manifest and the resulting manifest +# should be completed after a few seconds, showing something like: +# "webbrowser": { +# "files": ["${libdir}/python2.7/webbrowser.py"], +# "rdepends": ["core","fcntl","io","pickle","shell","subprocess"], +# "summary": "Python Web Browser support"} +# +# +# If you are upgrading Python to a new version please follow the next steps: +# After each Python upgrade, the create_manifest task should be executed, because we +# don't control what changes on upstream Python, so, some module dependency +# might have changed without us realizing it, a certain module can either have +# more or less dependencies, or could be depending on a new file that was just +# created on the new release and for obvious reasons we wouldn't have it on our +# old manifest, all of these issues would cause runtime errors on our system. +# +# - Upgrade both the native and target Python packages to a new version +# - Run the create_manifest task for the target Python package as its shown below: +# +# $ bitbake python -c create_manifest +# +# This will automatically replace your manifest file located under the Python directory +# with an new one, which contains the new dependencies (if any). +# +# Several things could have gone wrong here, I will try to explain a few: +# +# a) A new file was introduced on this release, e.g. sha3*.so: +# The task will check what its needed to import every module, more than one module would +# would probably depend on sha3*.so, although only one module should contain it. +# +# After running the task, the new manifest will have the sha3*.so file on more than one +# module, you need to manually decide which one of them should get it and delete it from +# the others, for example sha3*.so should likely be on ${PN}-crypt. +# Once you have deleted from the others you need to run the create_manifest task again, +# this will populate the other module's rdepends fields, with ${PN}-crypt and you should be +# good to go. +# +# b) The native package wasn't built correctly and its missing a certain module: +# As mentioned before, you need to make sure the native package was built with all the modules +# because it is used as base to build the manifest file, you need to manually check log.do_compile +# since it won't error out the compile function if its only missing a couple of modules. +# +# e.g. missing the _uuid module, log.do_compile would show the following: +# Python build finished successfully! +# The necessary bits to build these optional modules were not found: +# _uuid +# +# What will happen here is that the new manifest would not be aware that the _uuid module exists, so +# not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on +# the misc package (which is where any file that doesn't belong anywhere else ends up). +# +# This will eventually cause runtime errors on our system if we don't include the misc package on +# on our image, because the _uuid files will be missing. +# If we build the _uuid module correctly and run the create_manifest task the _uuid files will be +# detected correctly along with its dependencies, and we will get a working manifest. +# +# This is the reason why it is important to make sure we have a fully working native build, +# so we can avoid these errors. +# +# +# +# DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST +# EOC { "tests": { "summary": "Python test suite", diff --git a/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb b/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb index d5953cf4bb..56236da07f 100644 --- a/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb +++ b/poky/meta/recipes-devtools/python/python3-native_3.5.6.bb @@ -6,7 +6,6 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://12-distutils-prefix-is-inside-staging-area.patch \ file://python-config.patch \ file://030-fixup-include-dirs.patch \ -file://070-dont-clean-ipkg-install.patch \ file://080-distutils-dont_adjust_files.patch \ file://130-readline-setup.patch \ file://150-fix-setupterm.patch \ diff --git a/poky/meta/recipes-devtools/python/python3/070-dont-clean-ipkg-install.patch b/poky/meta/recipes-devtools/python/python3/070-dont-clean-ipkg-install.patch deleted file mode 100644 index f9971c6baf..0000000000 --- a/poky/meta/recipes-devtools/python/python3/070-dont-clean-ipkg-install.patch +++ /dev/null @@ -1,38 +0,0 @@ -consider opkg directories when cleaning up - --Khem - -Upstream-Status: Inappropriate [OE specific] - ---- - Makefile.pre.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: Python-3.5.3/Makefile.pre.in -=================================================================== ---- Python-3.5.3.orig/Makefile.pre.in -+++ Python-3.5.3/Makefile.pre.in -@@ -1574,8 +1574,8 @@ touch: - # Sanitation targets -- clean leaves libraries, executables and tags - # files, which clobber removes as well - pycremoval: -- -find $(srcdir) -depth -name '__pycache__' -exec rm -rf {} ';' -- -find $(srcdir) -name '*.py[co]' -exec rm -f {} ';' -+ -find $(srcdir) ! -path './ipkg-install/*' -depth -name '__pycache__' -exec rm -rf {} ';' -+ -find $(srcdir) ! -path './ipkg-install/*' -name '*.py[co]' -exec rm -f {} ';' - - rmtestturds: - -rm -f *BAD *GOOD *SKIPPED -@@ -1589,9 +1589,9 @@ docclean: - -rm -rf Doc/tools/sphinx Doc/tools/pygments Doc/tools/docutils - - clean: pycremoval -- find . -name '*.[oa]' -exec rm -f {} ';' -- find . -name '*.s[ol]' -exec rm -f {} ';' -- find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';' -+ find . ! -path './ipkg-install/*' -name '*.[oa]' -exec rm -f {} ';' -+ find . ! -path './ipkg-install/*' -name '*.s[ol]' -exec rm -f {} ';' -+ find . ! -path './ipkg-install/*' -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';' - find build -name 'fficonfig.h' -exec rm -f {} ';' || true - find build -name '*.py' -exec rm -f {} ';' || true - find build -name '*.py[co]' -exec rm -f {} ';' || true diff --git a/poky/meta/recipes-devtools/python/python3_3.5.6.bb b/poky/meta/recipes-devtools/python/python3_3.5.6.bb index 31f8eada11..2cb65045aa 100644 --- a/poky/meta/recipes-devtools/python/python3_3.5.6.bb +++ b/poky/meta/recipes-devtools/python/python3_3.5.6.bb @@ -9,8 +9,6 @@ DISTRO_SRC_URI_linuxstdbase = "" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://python-config.patch \ file://030-fixup-include-dirs.patch \ -file://070-dont-clean-ipkg-install.patch \ -file://080-distutils-dont_adjust_files.patch \ file://130-readline-setup.patch \ file://150-fix-setupterm.patch \ file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch \ @@ -285,7 +283,7 @@ python(){ for value in python_manifest[key]['files']: d.appendVar('FILES_' + pypackage, ' ' + value) - # Add cached files + # Add cached files if include_pycs == '1': for value in python_manifest[key]['cached']: d.appendVar('FILES_' + pypackage, ' ' + value) diff --git a/poky/meta/recipes-devtools/python/python_2.7.15.bb b/poky/meta/recipes-devtools/python/python_2.7.15.bb index dd969d8e7e..c22c762d99 100644 --- a/poky/meta/recipes-devtools/python/python_2.7.15.bb +++ b/poky/meta/recipes-devtools/python/python_2.7.15.bb @@ -198,7 +198,11 @@ python(){ bb.parse.mark_dependency(d, filename) with open(filename) as manifest_file: - python_manifest=json.load(manifest_file, object_pairs_hook=collections.OrderedDict) + manifest_str = manifest_file.read() + json_start = manifest_str.find('# EOC') + 6 + manifest_file.seek(json_start) + manifest_str = manifest_file.read() + python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict) include_pycs = d.getVar('INCLUDE_PYCS') |